验证码-c语言,学生信息管理系统。看不懂错误提示??

问题描述

c语言,学生信息管理系统。看不懂错误提示??

#include
#include
#include
#include
#include

#define N 100
typedef struct student
{
int num; //学号,姓名,年龄,性别,出生年月,地址,电话,
char name[18];
char sex;
int age;
int y, m;
int tel;
char add[30];
char mail[20];
int res;
int stu;
} SDate;
int PassWord();
void Menu();
int Input_Choice(); //函数声明
void Info_Paixu(SDate *student, int n);
void Info_print(SDate *stu, int n);
int Input_file(SDate *stu1);
int Info_Input(SDate *stu, int count);
void Info_Seach(SDate *stu, int n);
void Info_Change(SDate *stu, int n, int Num);
void Exit();
void Print_file(SDate *stu, int n);
int Info_Del(SDate *stu, int n, int del);
void Info_Change(SDate *stu, int res, int choice);
int Info_Add(SDate *stu, int count);
int main()
{
SDate stu[N];
int ret = 0, res = 0, choice = 0;
char ch;
loop:
ret = PassWord(); //登录函数 默认密码为admin
if (!ret)
{
system("cls");
printf("ntt密码错误或验证码错误!n"); //默认密码:admin
system("pause");
system("cls");
goto loop;
}
system("cls");
e:
Menu(); //菜单显示函数
printf("你的选择是?n");
scanf_s("%d", &ret);
switch (ret)
{
case 1:
choice = Input_Choice(); //InputChoice()数据输入方式选择函数
if (choice == 1)
res = Info_Input(stu, res); //键盘输入函数
else if (choice == 2)
res = Input_file(stu); //文件读取函数
else
{
system("cls");
goto e;
}
break;
case 2:
if (res == 0)
{
system("cls");
printf("没有数据输入,请重新选择!n");
goto e;
}
else
Info_print(stu, res);
break;
case 3:
if (res == 0 || res == 1)
{
system("cls");
printf("没有需要排序数据,请重新选择!n");
goto e;
}
else
Info_Paixu(stu, res);
break;
case 4:
Info_Seach(stu, res);
break;
case 5:
res = Info_Add(stu, res);
break;
case 6:
Info_print(stu, res);
printf("输入学号进行删除:");
scanf_s("%d", &choice);
res = Info_Del(stu, res, choice);
break;
case 7:
printf("请输入需要修改的学号:");
scanf_s("%d", &choice);
Info_Change(stu, res, choice);
break;
case 8:
Print_file(stu, res);
break;
case 9:
Exit();
break;
default:
printf("您的选泽有误!n");
}
getchar();
printf("返回主菜单重新选择y/n?");
scanf_s("%c", &ch);
if (ch == 'Y' || ch == 'y')
{
system("cls");
goto e;
}
return 0;
}

int yanzheng() //验证码模块
{
int a, b, c, d;
srand((unsigned)time(NULL));
a = rand() % 100;
b = rand() % 100;
c = a + b;
printf("nt **************************n");
printf("tt验证码: %d+%d=?n", a, b);
printf("tt 答案为:");
scanf_s("%d", &d);
if (c == d)
return 1;
else
return 0;
}
int PassWord() //登录模块
{
int i = 0;
char passWord[18];
char p[] = "admin"; //默认密码设置
char ch;
printf("t 欢迎使用学生信息管理系统n");
printf("n");
printf("tt用户名:Adminn");
printf("n");
printf("tt密码:");
while ((ch = _getch()) != 13)
{
putchar('*');
passWord[i] = ch;
i++;
}
passWord[i] = '';
if (strcmp(p, passWord) == 0)
yanzheng();
else
return 0;
}

void Menu() //菜单模块
{
printf("t 欢迎使用学生信息管理系统n");
printf("n*******************************************n");
printf("** tt1、学生信息录入tt n");
printf("
tt2、学生信息浏览tt n");
printf("
tt3、学生信息排序tt n");
printf("
tt4、学生信息查找tt n");
printf("
tt5、学生信息添加tt n");
printf("
tt6、学生信息删除tt n");
printf("
tt7、学生信息修改tt n");
printf("
tt8、学生信息保存tt n");
printf("
tt9、退出ttt n");
printf("
*****************************************n");
}

int Input_Choice() //数据输入方式选择
{
int i;
system("cls");
printf("t 欢迎使用学生信息管理系统n");
printf("tt1、键盘录入n");
printf("tt2、文件读取n");
printf("tt0、返回n");
printf("t你的选择是?");
scanf_s("%d", &i);
return i;
}

int Info_Input(SDate *stu, int count) //信息从键盘输入模块
{
SDate *p;
p = stu;
system("cls");
printf("请输入第%d个学生学号(输入0结束):n", count + 1);
scanf_s("%d", &p->num);
while (p->num != 0)
{
printf("请输入该学生姓名:n");
scanf_s("%s", p->name);
printf("请输入该学生年龄:n");
scanf_s("%d", &p->age);
getchar();
printf("请输入该学生性别:n");
scanf_s("%c", &p->sex);
printf("请输入该学生出生年月:n");
scanf_s("%d%d", &p->y, &p->m);
printf("请输入该学生住址:n");
scanf_s("%s", p->add);
printf("请输入该学生联系电话:n");
scanf_s("%d", &p->tel);
printf("请输入该学生E-Mail:n");
scanf_s("%s", p->mail);
count++;
p++;
system("cls");
printf("请输入第%d个学生学号(输入0结束):n", count);
scanf_s("%d", &p->num);
}
return count;
}

int Input_file(SDate *stu1) //信息从文件输入模块
{
int rin = 0;
SDate *p;
FILE *fp;
p = stu1;

if ((fp = fopen_s("StuInfo.txt","r")) == NULL)
    printf("该文件不存在!n");
while (!feof(fp))
{
    fscanf(fp, "%d %s %c %d %d %d %d %s %sn", &p->num, p->name, &p->sex, &p->age, &p->y, &p->m, &p->tel, p->add, p->mail);
    p++;
    rin++;
}
fclose(fp);
printf("文件读取成功!n");
return rin;

}

void Info_print(SDate *stu, int n) //信息输出至屏幕模块
{
SDate *p;
if (n == 0) //学号,姓名,年龄,性别,出生年月,地址,电话,
printf("没有录入信息!n");
else
{
printf("n以下是%d个同学的信息n", n);
printf("学号 姓名 性别 年龄 出生年月 电话 地址 E-Mailn");
for (p = stu; p
printf("%d %s %c %d %d-%d %d %s %sn", p->num, p->name, p->sex, p->age, p->y, p->m, p->tel, p->add, p->mail);
}
}

void Print_file(SDate *stu, int n) //信息保存至文件模块
{
FILE *fp;
SDate *p;
p = stu;
if ((fp = fopen("StuInfo.txt", "a")) == NULL)
printf("文件读取失败!n");
else
{
for (; p
fprintf(fp, "%d %s %c %d %d %d %d %s %sn", p->num, p->name, p->sex, p->age, p->y, p->m, p->tel, p->add, p->mail);
fclose(fp);
printf("n保存成功!n");
}
}

void Info_Paixu(SDate *stu, int n) //学号排序模块
{
int i, j;
SDate p;
for (i = 0; i
{
for (j = 0; j
{
if ((stu[j].num)>(stu[j + 1].num))
{
p = stu[j];
stu[j] = stu[j + 1];
stu[j + 1] = p;
}
}
}
printf("排序完成!n");
}

void Exit() //退出模块
{
printf("谢谢使用!n");
exit(1);
}

void Info_Seach(SDate *stu, int n) //查询模块,目前仅支持学号或姓名的精准查询
{
int num, choice;
char name[10];
int flag = -1, i;
system("cls");
printf("请输入查询方式:t1、学号查询nt t2、名字查询n");
printf("您的选择是?");
scanf_s("%d", &choice);
if (choice == 1)
{
lab1:
printf("请输入需要查找的学号:n");
scanf_s("%d", &num);
for (i = 0; i<n; i++)
{
if (num == stu[i].num)
{
flag = i;
printf("%d %s %c %d %d-%d %d %s %sn", stu[i].num, stu[i].name, stu[i].sex, stu[i].age, stu[i].y, stu[i].m, stu[i].tel, stu[i].add, stu[i].mail);
}
}
if (flag == -1)
{
printf("未找到!请重新选择n");
printf("1、返回继续查询n2、退出查询,返回主菜单n3、退出程序你的选择是?");
scanf_s("%d", &choice);
if (choice == 1)
{
system("cls");
goto lab1;
}
if (choice == 2)
goto end;
else
Exit();
}
}
else if (choice == 2)
{
lab2:
printf("请输入需要查找的姓名:n");
scanf_s("%s", name);
for (i = 0; i<n; i++)
if (strcmp(name, stu[i].name) == 0)
{
flag = i;
printf("%d %s %c %d %d-%d %d %s %sn", stu[i].num, stu[i].name, stu[i].sex, stu[i].age, stu[i].y, stu[i].m, stu[i].tel, stu[i].add, stu[i].mail);
}
if (flag == -1)
{
printf("您的输入有误!请重新选择n");
printf("tt1、返回继续查询ntt2、退出查询,返回主菜单ntt3、退出程序ttn你的选择是?");
scanf_s("%d", &choice);
if (choice == 1)
{
system("cls");
goto lab2;
}
if (choice == 2)
goto end;
else
Exit();
}
}
end:
;
}

void Info_Change(SDate *stu, int n, int Num) //信息修改模块
{
int i;
for (i = 0; i<n; i++)
if (stu[i].num == Num)
{
printf("请输入该学生姓名:n");
scanf_s("%s", stu[i].name);
printf("请输入该学生年龄:n");
scanf_s("%d", &stu[i].age);
getchar();
printf("请输入该学生性别:n");
scanf_s("%c", &stu[i].sex);
printf("请输入该学生出生年月:n");
scanf_s("%d%d", &stu[i].y, &stu[i].m);
printf("请输入该学生住址:n");
scanf_s("%s", stu[i].add);
printf("请输入该学生联系电话:n");
scanf_s("%d", &stu[i].tel);
printf("请输入该学生E-Mail:n");
scanf_s("%s", stu[i].mail);
printf("学号为%d的同学信息修改完成!n", Num);
}
}

int Info_Del(SDate *stu, int n, int del) //信息删除模块
{
int i, j;
for (i = 0; i<n; i++)
if (stu[i].num == del)
for (j = i; j<n - 1; j++)
stu[j] = stu[j + 1];
n--;
printf("删除成功!n");
return n;
}

int Info_Add(SDate *stu, int count) //信息添加模块
{
SDate *p;
system("cls");
printf("当前共有%d个数据n", count + 1);
p = stu + (count);
printf("请输入第%d个学生学号(输入0结束):n", count + 1);
scanf_s("%d", &p->num);
while (p->num != 0)
{
printf("请输入该学生姓名:n");
scanf_s("%s", p->name);
printf("请输入该学生年龄:n");
scanf_s("%d", &p->age);
getchar();
printf("请输入该学生性别:n");
scanf_s("%c", &p->sex);
printf("请输入该学生出生年月:n");
scanf_s("%d%d", &p->y, &p->m);
printf("请输入该学生住址:n");
scanf_s("%s", p->add);
printf("请输入该学生联系电话:n");
scanf_s("%d", &p->tel);
printf("请输入该学生E-Mail:n");
scanf_s("%s", p->mail);
count++;
p++;
system("cls");
printf("请输入第%d个学生学号(输入0结束):n", count + 1);
scanf_s("%d", &p->num);
}
return count;
}

解决方案

scanf_s("%d", &p->tel);
你这个优先级不对,是先对p取地址了。

别的错误懒得看了,你应该贴出错误提示来。

解决方案二:

错误 提示先贴出来呀

解决方案三:

不要贴一整段代码,别人想帮你还要理清你的代码逻辑,还是直接贴错误吧

解决方案四:

贴错误吧,这样手机看不方便

时间: 2024-10-01 01:10:19

验证码-c语言,学生信息管理系统。看不懂错误提示??的相关文章

编程c语言-学生信息管理系统。求解程序

问题描述 学生信息管理系统.求解程序 关于学生信息管理系统的一个程序,底下是部分代码,有点不太理解.不知道怎么补充.求大神指点. 解决方案 http://download.csdn.net/detail/NesTa_xP/482840 解决方案二: http://down.51cto.com/data/637096 解决方案三: http://blog.sina.com.cn/s/blog_707b645501010tbm.html 解决方案四: 小程序:学生信息管理系统--C语言版本学生信息管

C语言有谁编过一个简单的系统吗?学生信息管理系统 求助!用C++编程

问题描述 C语言有谁编过一个简单的系统吗?学生信息管理系统 求助!用C++编程 各项功能说明 (1)学生基本信息的录入和保存: 这部分的功能主要包括信息的录入和保存和总分.平均分的计算,首先按程序提示输入所要输入的学生人数,接着是分别输入有关学生的相关信息包括学号.姓名.年龄.性别以及学生各科成绩的分数等.在录入数据的同时,系统将对信息的合法性进行检验(学号范围为100~200.姓名不限.年龄为15~50岁.性别可输入m或f.各科成绩均限定在0~100之间),若用户录入了不合法的数据系统将会作出

C语言实现一个列表式的学生信息管理系统(完善)

http://blog.csdn.net/morixinguan/article/details/77489633        上节,我们实现了学生信息管理系统的大多数功能,但还有两个功能没有实现,就是学生信息修改还有学生信息删除了.当然,程序中依然存在诸多的BUG,比如,scanf和getchar函数就是一对冤家,如果用了scanf,再调用getchar,就会出现所谓的输入缓冲区问题,导致程序一闪而过.然而解决这种问题的唯一方法就是使用fflush函数,对输入缓冲区,输出缓冲区,出错缓冲区进

c++ c语言-用双向链表实现学生信息管理系统

问题描述 用双向链表实现学生信息管理系统 老师布置的课设作业,要求用双向链表实现学生信息管理系统,学生信息包括学号,姓名,年龄,入学日期,电话等,实现增删改操作..大神教教我吧,c++和java都可以,拜托 解决方案 学生信息管理系统汇编实现C语言实现学生信息管理系统用单链表实现学生信息管理系统 解决方案二: http://download.csdn.net/detail/wangchunxia0620/3535737 解决方案三: http://blog.csdn.net/hopeyoukno

C语言综合实验1—学生信息管理系统

实验题目:学生信息管理系统 实验要求:用户可以选择1-7可以分别进行学生信息的查看.添加.删除,修改,计算平均成绩,保存,退出系统操作. 提示:用一个结构体类型表示学生信息 1 typedef struct node /*定义结构体*/ 2 { 3 int num; //学号 4 char name[15];//姓名 5 char sex[9]; //性别 6 int age; //年龄 7 int english; //英语成绩 8 int math; //数学成绩 9 int compute

学生信息管理系统-c++语言课程设计任务选项

问题描述 c++语言课程设计任务选项 用c++语言编写学生信息管理系统 解决方案 http://wenku.baidu.com/link?url=u6qLhXbR7ZoieB8qD283ls-uBy-95oNz0JNQ--R7_PoL1PS0t1yn-V0T64CzvUFMwLHZ31ENgdLgW4MaUxGgjBcVpR6J55pgpOiic3kd7VS 解决方案二: http://blog.csdn.net/bdmh/article/details/6112631 有一个简单的学生成绩管理

C++学生信息管理系统_C 语言

本文实例为大家分享了C++学生信息管理系统源码,供大家参考,具体内容如下 1. tea_list.c #include<stdio.h> #include<stdlib.h> #include<string.h> #include"teacher.h" int sq_tea ; PTEA head = NULL ; FILE *fp ; int tea_llopen(const char* path)//打开文件 { fp=fopen(path,&q

用双向链表实现学生信息管理系统

问题描述 用双向链表实现学生信息管理系统 老师布置的课设作业,要求用双向链表实现学生信息管理系统,学生信息包括学号,姓名,年龄,入学日期,电话等,实现增删改操作..大神教教我吧,c++和java都可以,拜托 解决方案 学生信息管理系统汇编实现C语言实现学生信息管理系统用单链表实现学生信息管理系统 解决方案二: 我这有个单向链表,你看能用上吗http://blog.csdn.net/qq_27183003/article/details/50248457 解决方案三: 首先写个双向链表类模板,然后

Winform学生信息管理系统登陆窗体设计(1)_C#教程

       对这块的知识学习早已期待已久,感觉学习的进度还是慢了,最近一直在学习Winform,不得不说一些登陆窗体的设计,这几天算是小有收获,自己也看了许多这方面的知识,知道了要想做学生信息管理系统是一个漫长的过程,但是从今天起就来慢慢地进行学生信息管理系统的构建,此外还用到数据库的知识,打算着自己开始学数据库的知识,今天就来看看学生信息管理系统登录窗口的设计.下面图片的是样例:        这方面的知识还是基于C#语言和.NET Framework平台的.自己所用的还是熟悉的开发环境VS