读书人

一个C语言程序的有关问题(100分送上

发布时间: 2012-02-17 17:50:42 作者: rapoo

一个C语言程序的问题(100分送上 在线等 十万火急 答案一出立即送分)
学生在规定时间之内,把自己的作业答案上传。
打开一个TXT文件anwers.txt,头8个字记录登陆时的用户名,空格后是作业题目,再空格是答案(所有学生的答案都记录在同一个文件)
如果已经超出规定日期,显示错误信息
登陆后,输入5进入“上传作业答案”

我的代码如下`````

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

char login[] = "login.txt ";
char answers[] = "answers.txt ";

char username[6], pwd[16];
char uid[6], upw[16];


int getUsername()
{
FILE * in;
in = fopen(login, "r ");
while (fscanf(in, "%s %s ", username, pwd)!=EOF)
{
if (strcmp(uid, username)==0)
return 1;
}
fclose(in);
return 0;
}


int main()
{

printf( "Enter your username: ");
scanf( "%s ", uid);

if (getUsername() == 0)
{
printf( "Username is invalid.\n ");
return 0;
}
printf( "Enter your password: ");
scanf( "%s ", upw);
if (strcmp(upw, pwd)!=0)
{
printf( "Password is invalid\n ");
return 0;
}

return 0;

}

大哥们帮帮改下吧``````````




[解决办法]
看你自己写比较好
输入一个,检验之后就往文件写就是了
[解决办法]
这程序写得一点都不专业,刚上手吧?
if (getUsername() == 0)
写成if (!getUsername())看起来比较专业。

函数划分也一般,输入错误就不给人家再输的机会了。
还没有判断in==NULL的异常情况,唉!

读书人网 >C语言

热点推荐