c語言信管
⑴ c語言編寫學生信息管理系統,不要報錯的......
可以輸入
輸出
查找
排序學生的成績
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define
N
50
struct
Student
{
long
number;
char
name[20];
int
score;
}stu[N],t;
struct
Student
*p;
int
Num=0;
void
input()
{
char
ch;
for(p=stu+Num;p-stu<N;p++)
{
Num++;
printf("請輸入第%d個學生的學號:",Num);
scanf("%ld",&p->number);
printf("請輸入第%d個學生的姓名:",Num);
scanf("%s",p->name);
printf("請輸入第%d個學生的成績:",Num);
scanf("%d",&p->score);
if(Num<N)
{
printf("\n已輸入%d個學生的信息,是否繼續輸入(y/n)?",Num);
ch=getchar();
scanf("%c",&ch);
if(ch=='n')
break;
}
else
printf("已輸入%d個學生的信息,不能再輸入\n",N);
}
}
void
output()
{
char
ch;
for(p=stu;p-stu<Num;p++)
{
printf("學號\t\t\t姓名\t\t\t成績\n");
printf("%-24ld%-24s%d\n",p->number,p->name,p->score);
}
printf("按回車鍵繼續\n");
ch=getchar();
ch=getchar();
}
void
sort()
{
char
ch;
int
i,j;
for(i=0;i<Num-1;i++)
for(j=i+1;j<Num;j++)
{
if(stu[i].score<stu[j].score)
{
t=stu[i];
stu[i]=stu[j];
stu[j]=t;
}
}
printf("已排序完畢,是否輸出排序後學生信息(y/n)?");
ch=getchar();
if(ch=getchar()=='y')
output();
}
void
search()
{
char
nam[20],ch;
int
k=0;
fflush(stdin);
printf("請輸入需要查詢的學生姓名:");
gets(nam);
for(p=stu;p-stu<Num;p++)
{
if(!strcmp(nam,p->name))
{
printf("學號\t\t\t姓名\t\t\t成績\n");
printf("%-24ld%-24s%d\n",p->number,p->name,p->score);
k=1;
}
}
if(k==0)
printf
("不存在該學生信息\n");
printf("按回車鍵繼續\n");
ch=getchar();
}
int
menu()
{
int
choice;
printf("\t\t學生信息管理系統\n");
printf("\t1.輸入學生的成績\n\t2.輸出學生的成績\n\t3.排序學生的成績\n\t4.查找學生的成績\n\t5.退出系統\n");
printf("\n請輸入你的選擇(1-5):");
scanf("%d",&choice);
return
choice;
}
main()
{
while(1)
{
switch(menu())
{
case
1:input();break;
case
2:output();break;
case
3:sort();break;
case
4:search();break;
case
5:exit(0);
}
}
}
⑵ 如何用c語言製作一個學生信息管理系統,要求以文件形式保存
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
//鏈表結點結構體聲明
typedef struct subjects
{
char name[20];
float score;
}sub;
typedef struct student
{
int num;
char name[20];
sub subject[3];
struct student* next;
}stu,*pstu;
#define SIZE sizeof(stu)
//函數申明
pstu LoadInfo();
void PrintMenu();
pstu AddStu(pstu );
pstu DeleStu(pstu );
pstu RwrStu(pstu );
void FindStu(pstu , char );
void Count(pstu ,char * ,float ,float );
void Rank(pstu ,char * );
void SaveQuit(pstu );
//創建菜單,進入選擇循環
while(1)
{
PrintMenu();
printf("請輸入您的選擇編號:");
scanf("%d",&n);
getchar();
switch(n)
{
case 1:
{
system("cls");
j=0;
while(4!=j)
{
printf("歡迎進入信息管理版塊! ");
printf("