2015-04-16 3 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'-array, где' scanf' ожидает указатель на 'int' для' '% d" '. – Kninnug

+0

Какова цель 'goto end''? Перейти к 'return 0;'? Это не имеет никакого смысла, и 'return (0);', когда 'return' не является функцией. –

ответ

0
if (answer1 == y){ 

должен быть

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

и, как другие сказали не использовать Гото. использовать во время циклов

Смежные вопросы