2015-04-16 157 views
-3
#include <stdio.h> 
#include <stdlib.h> 
#include <string.h> 

/*username/password/id storage*/ 
struct Profile 
{ 
    char username[50]; 
    char password[10]; 
    char id; 
}; 
struct Profile profile1; /*User Profile */ 


main(){ 
    char firstname[79]; 
    char answer1[4]; 
    char y[4] = "Yes"; 
    char username[50]; 


    printf(" Welcome to Iceburg\n Working for you\n\n\n\n"); 
    printf("Is this your first time using our program?(Yes/No)\n"); 
    scanf("%d", &answer1); 
    if (answer1 == y){ 
     goto start; 
    } 
    else{ 
     goto end; 
    } 

start: 
    /*Beginning of program*/ 
    printf(" Welcome to Iceburg\n Working for you\n\n\n\n"); 
    printf("Please enter your first name\n"); 
    scanf("%s", &firstname); 
    system("cls"); 
    printf("Hello %s,\nWelcome to Iceburg\n\n", firstname); 
    /*Collecting data for username/password*/ 
    printf("First, we need some other data.\n"); 
    printf("Select a username.(one word with no special characters)\n"); 
    scanf("%s", &username); 
    printf("Thank you!\n"); 

end: 
    return(0); 
} 

我需要程序的幫助直到「start:」。由於程序 簽出沒有錯誤,但不會運行if else語句,因此我不知道要在哪裏轉向。如果我能得到一些幫助。我也 需要知道我需要做什麼才能創建用戶名/密碼 登錄用戶名和密碼保存在此 源或備用源中。程序開始不能正常工作

+5

您正在比較字符串與==,初學者。另外,你使用的是「goto」。 –

+3

此外,您還傳遞'char'數組,其中'scanf'需要''%d「'指向'int'的指針。 – Kninnug

+0

goto end的用途是什麼?跳轉到'return 0;'?這根本沒有意義,而'return(0);',當'return'不是函數時。 –

回答

0
if (answer1 == y){ 

應該

if(strcmp(answer1, y) == 0){ 

和其他已經說過不要使用goto。使用while循環