标题:c语言编的简单学生管理系统,大家给点意见。
只看楼主
gun44
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-8-1
 问题点数:0 回复次数:7 
c语言编的简单学生管理系统,大家给点意见。

c语言编的简单学生管理系统,大家给点意见。谢谢!
#include"stdio.h"
#include"string.h"
#include "stdlib.h"
#define listsize 100
#define listup 10
struct student
{
int num;
char name[5];
int mark;
int length;
}stu[listsize];
void print()
{
printf("======要新输入学生数据请按N======\n");
printf("======要插入学生数据请按I========\n");
printf("======要删除学生数据请按D========\n");
printf("======要查询学生数据请按S========\n");
printf("======要退出学生管理系统请按x========\n");
}
void Init()
{
void list();
struct student *p;
p=stu;
int i,j;
printf("要输入多少个学生的数据?:");
scanf("%d",&i);

for(j=0;j<i;j++)
{
printf("学号 姓名 成绩\n");
scanf("%d ",&stu[j].num);
scanf("%s",&stu[j].name);
scanf("%d",&stu[j].mark);
p->length=j;
}
list();
}
void Insert()
{
struct student *p;
p=stu;
void list();
int i,j;
printf("请问要在第几个学生前插入数据?:");
scanf("%d",&i);
p->length++;
for(j=p->length;j>=i-1;j--)
{
stu[j+1].num=stu[j].num;
strcpy(stu[j+1].name,stu[j].name);
stu[j+1].mark=stu[j].mark;
}
printf("学号 姓名 成绩\n");
scanf("%d ",&stu[i-1].num);
scanf("%s",&stu[i-1].name);
scanf("%d",&stu[i-1].mark);
list();
}
void Delete()
{
struct student *p;
p=stu;
void list();
int i,j;
printf("请问要删除第几个学生的资料?:");
scanf("%d",&i);
for(j=i-1;j<=p->length;j++)
{
stu[j].num=stu[j+1].num;
strcpy(stu[j].name,stu[j+1].name);
stu[j].mark=stu[j+1].mark;
}
p->length--;
list();
}
void Serch()
{
struct student *p;
p=stu;
void list();
char xingming[5];
int xuehao,chengji,i,flag,shuru;
printf("=====要按学号查询请按'1'=====\n");
printf("=====要按姓名查询请按'2'=====\n");
printf("=====要按成绩查询请按'3'=====\n");
scanf("%d",&shuru);
switch(shuru)
{
case 1:
printf("请输入学生学号:");
scanf("%d",&xuehao);
flag=0;
for(i=0;i<=p->length;i++)
{
if (stu[i].num==xuehao)
{
printf("==学生清单==\n");
printf("学号 姓名 成绩\n");
printf("%d %s %d\n",stu[i].num,stu[i].name,stu[i].mark);
flag++;
}
else
flag=flag+0;
}
if(flag==0)
printf("找不到相关学生资料!");
break;
case 2:
printf("请输入学生姓名:");
scanf("%s",&xingming);
flag=0;
for(i=0;i<=p->length;i++)
{
if (strcmp(stu[i].name,xingming)==0)
{
printf("==学生清单==\n");
printf("学号 姓名 成绩\n");
printf("%d %s %d\n",stu[i].num,stu[i].name,stu[i].mark);
flag++;
}
else
flag=flag+0;
}
if(flag==0)
printf("找不到相关学生资料!");
break;
case 3:
printf("请输入学生成绩:");
scanf("%d",&chengji);
flag=0;
for(i=0;i<=p->length;i++)
{
if (stu[i].mark==chengji)
{
printf("==学生清单==\n");
printf("学号 姓名 成绩\n");
printf("%d %s %d\n",stu[i].num,stu[i].name,stu[i].mark);
flag++;
}
else
flag=flag+0;
}
if(flag==0)
printf("找不到相关学生资料!");
break;
default:break;
}
}
void Exit()
{
exit(-1);
}
void list()
{
int i;
struct student *p;
p=stu;
printf("==学生清单==\n");
printf("学号 姓名 成绩\n");
for(i=0;i<=p->length;i++)
{
printf("%d %s %d\n",stu[i].num,stu[i].name,stu[i].mark);
}
}
void main()
{
char ch;
print();
while((ch=getchar())!='X'||(ch=getchar())!='x')
{
switch (ch=getchar())
{
case 'N':Init();break;
case 'n':Init();break;
case 'I':Insert();break;
case 'i':Insert();break;
case 'D':Delete();break;
case 'd':Delete();break;
case 'S':Serch();break;
case 's':Serch();break;
case 'X':Exit();break;
case 'x':Exit();break;
default:break;
}
}
}

搜索更多相关主题的帖子: c语言 系统 学生 意见 管理 
2006-08-01 19:53
ccj
Rank: 1
等 级:新手上路
帖 子:84
专家分:0
注 册:2006-7-27
得分:0 
~~编译失败~~

河马的牙齿有多少颗,我不知晓;流氓兔的家在哪里,我不知晓;花开的声音,小草的呼吸,流星的足迹,我统统
2006-08-01 22:24
ccj
Rank: 1
等 级:新手上路
帖 子:84
专家分:0
注 册:2006-7-27
得分:0 

好多错


河马的牙齿有多少颗,我不知晓;流氓兔的家在哪里,我不知晓;花开的声音,小草的呼吸,流星的足迹,我统统
2006-08-01 22:25
superkuuga
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2006-8-1
得分:0 
看了第一个函数PRINT那个,觉得应该放入主函数中,否则即使编译通过,你选择的N,S 什么等都无法传送到switch (ch=getchar())这里.至于其他的问题以后再慢慢看.

2006-08-02 11:15
ccj
Rank: 1
等 级:新手上路
帖 子:84
专家分:0
注 册:2006-7-27
得分:0 



河马的牙齿有多少颗,我不知晓;流氓兔的家在哪里,我不知晓;花开的声音,小草的呼吸,流星的足迹,我统统
2006-08-02 16:42
gun44
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-8-1
得分:0 
以下是引用superkuuga在2006-8-2 11:15:26的发言:
看了第一个函数PRINT那个,觉得应该放入主函数中,否则即使编译通过,你选择的N,S 什么等都无法传送到switch (ch=getchar())这里.至于其他的问题以后再慢慢看.

哦,是哦。我这就改。

2006-08-02 18:18
101101a
Rank: 1
等 级:新手上路
帖 子:59
专家分:0
注 册:2006-12-21
得分:0 

让我来看很好了,我是出学者好多地方不太明白。


2006-12-24 17:19
青涩苹果
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2010-8-14
得分:0 
编译通过了,但输入指令无法执行。
2010-09-10 16:31



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-81501-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.459872 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved