#include<stdlib.h>
#include<string.h>struct record
{
char xuehao[10]//学号
char name[20]//姓名
char sex[3]//性别
int ke1//数学
int ke2 //语文
int ke3//英语
int pin
}stu[50]
int k=1,n,mvoid readfile()
void seek()
void insert()
void del()
void save()
void menu()
void seek()
{int i,j,item,flag<br>char s1[20]<br>printf("------------------\n")<br>printf("1.按学号查询\n")<br>printf("2.退出本菜单\n")<br>printf("------------------\n")<br>while(1)<br>{ printf("请选择子菜单编号:")<br>scanf("%d",&item)<br>flag=0<br>switch(item)<br>{<br>case 1:<br>printf("请输入要查询的学生的学号:\n")<br>scanf("%s",s1)<br>for(i=0i<ni++)<br>if(strcmp(stu[i].xuehao,s1)==0)<br>{ flag=1<br>printf("该学生学号,姓名,性别,数学,语文,英语 分别为:\n")<br>printf("%s%s%s %d%d%d",stu[i].xuehao,stu[i].name,<br>stu[i].sex,stu[i].ke1,stu[i].ke2,stu[i].ke3)<br>}
if(flag==0)
printf("该学号不存在!\n")break
case 2:return
default:printf("请在1-2之间选择\n")
}
}
}
void insert()
{ int i=n,j,flag
printf("请输入待增加的学生数:\n")
scanf("%d",&m)
do
{ flag=1
while(flag)
{ flag=0
printf("请输入第 %d 个学生的学号:\n",i+1)
scanf("%s",stu[i].xuehao)
for(j=0j<ij++)
if(strcmp(stu[i].xuehao,stu[j].xuehao)==0)
{ printf("已有该学号,请检查后重新录入!\n")
flag=1
break
}
}
printf("请输入第 %d 个学生的姓名:",i+1)
scanf("%s",stu[i].name)
printf("\n请输入第 %d 个学生的性别:",i+1)
scanf("%s",stu[i].sex)
printf("\n请输入第 %d 个学生的数学成绩:",i+1)
scanf("%d",&stu[i].ke1)
printf("\n请输入第 %d 个学生的语文成绩:",i+1)
scanf("%d",&stu[i].ke2)
printf("\n请输入第 %d 个学生的英语成绩:",i+1)
scanf("%d",&stu[i].ke3)if(flag==0)
{ i=i
i++
}
}while(i<n+m)
n+=m
printf("录入完毕!\n\n")
}void del()
{ int i,j,flag=0
char s1[20]
printf("请输入要删除学生的学号:\n")
scanf("%s",s1)
for(i=0i<ni++)
if(strcmp(stu[i].xuehao,s1)==0)
{ flag=1
for(j=ij<n-1j++)
stu[j]=stu[j+1]
}
if(flag==0)
printf("该学号不存在!\n")
if(flag==1)
{ printf("删除成功,显示结果请选择菜单6\n")
n--
}
}
void readfile()
{
char buf[80],*p="student.dat"
FILE *fp
int i=0
if ((fp=fopen("student.dat","r"))==NULL)
{ printf("Open file %s error! Strike any key to exit!",p)
system("pause")
exit(0)
}
while(fscanf(fp,"%s%s%s%d%d%d",stu[i].xuehao,stu[i].name,
stu[i].sex,&stu[i].ke1,&stu[i].ke2,&stu[i].ke3)==6)
{ i++
i=i
}
fclose(fp)
n=i
printf("录入完毕!\n")
}void save()
{ int i,j,k,flag=0
FILE *fp
fp=fopen("student.dat","w")
for(i=0i<mi++)
{
fprintf(fp,"%s%s%d%d%d",stu[i].xuehao,stu[i].name,stu[i].sex,&stu[i].ke1,
&stu[i].ke2,&stu[i].ke3)
fclose(fp)
printf("已储存")
}
}
void paixu()
{
int i,j,k,t
for(i=0i<mi++)
{
stu[i].pin=(stu[i].ke1+stu[i].ke2+stu[i].ke3)/3
}
for(i=0i<=m-2i++)
{
k=i
for(j=i+1j<=m-1j++)
if(stu[j].pin<stu[k].pin)
k=j
if(k!=i)
{
t=stu[k].pin
stu[k].pin=stu[i].pin
stu[i].pin=t
}
}
for(i=0i<mi++)
{printf("第 %d 个学生的姓名%s:",i+1,stu[i].name)<br> printf("\n第 %d 个学生的性别:%s",i+1,stu[i].sex)<br> printf("\n第 %d 个学生的数学成绩:%d",i+1,stu[i].ke1)<br> printf("\n第 %d 个学生的语文成绩:%d",i+1,stu[i].ke2)<br> printf("\n第 %d 个学生的英语成绩:%d",i+1,stu[i].ke3)<br> printf("\n第 %d 个学生的平均成绩:%d",i+1,stu[i].pin)<br>}
}
void menu()
{ int nub
printf(" \n\n学生成绩管理系统\n\n")
printf("*****系统功能菜单*****\n")
printf("----------------------\n")
printf("1.输入学生信息\n")
printf("2.查询学生信息\n")
printf("3.按学号删除信息\n")
printf("4.读入学生信息\n")
printf("5.保存信息(要把修改保存到文件,退出程序前必须执行本项)\n")
printf("6.查询学生平均成绩信息\n")
printf("0.退出系统\n")
printf("----------------------\n")
printf("请选择菜单编号:")
scanf("%d",&nub)
switch(nub)
{
case 1:insert()break
case 2:seek()break
case 3:del()break
case 4:readfile()break
case 5:save()break
case 6:paixu()break
case 0:k=0break
default:printf("请在0-6之间选择\n")
}}
void main()
{
while(k)
menu()
}
//平均数是排序后,输出的,如果你不想直接输入,那就不要对每个学生进行选择排序了
#include <stdio.h>#include <stdlib.h>
void menu() //菜单绘制
{
printf("---------------------------------------\n")
printf("\t\t 0.退出\n")
printf("\t\t 1.录入信息\n")
printf("\t\t 2.查找信息\n")
printf("\t\t 3.删除信息\n")
printf("\t\t 4.浏览信息\n")
printf("\t\t 5.有其他疑问找群主")
printf("\t\t 6.C++8群: 491994603")
printf("---------------------------------------\n")
}
void keyDown() //按键处理
{
int choice
scanf("%d", &choice)
switch (choice)
{
case 0:
printf("退出程序\n")
Sleep(2000)
return 0
case 1:
//调用菜单1实现函数
break
case 2:
//调用菜单2实现函数
break
case 3:
//调用菜单3实现函数
break
case 4:
//调用菜单4实现函数
break
default:
printf("输入错误\n")
}
system("pause")
return 0
}
int main()
{
while(1)
{
menu()
keyDown()
system("cls")
}
return 0
}
#include "stdio.h"#include "stdlib.h"
#include "dos.h"
#include "windows.h"
char choice1
void main()
{
void menue1()
printf("欢迎进入Ben的作业查询系统!")
menue1()
}
void menue1()
{
void choicemenue1()
printf("\n请按照以下列表选择您想要查看的章节:")
printf("\n编号\t章节\n 1\t第一章\n 2\t第二章\n")
printf("请输入编号进行选择:")
choicemenue1()
}
void choicemenue1()
{
choice1=getch()
switch(choice1)
{
void menuechapter1()
void menuechapter2()
void menue1()
case '1':menuechapter1()break
case '2':menuechapter2()break
default:printf("\n输入错误!请重新选择!\n"),menue1()
}}
void menuechapter1()
{
char choiceex
printf("\n您选择的是第%c章",choice1)
printf("\n现在请选择本章节的题目。")
printf("\n请按照以下列表选择题目:")
printf("\n编号\t题目编号\n1\t第1题\n2\t第2题\n")
printf("请选择:")
switch(choiceex=getch())
{
void c1_1()
void c1_2()
case '1':c1_1()break
case '2':c1_2()break
default:
printf("\n你个白痴!这也能选错!不让你重选了!")
printf("\n按任意键以退出!")
getch()
exit(0)
}
}
void menuechapter2()
{
char choiceex
printf("\n您选择的是第%c章",choice1)
printf("\n现在请选择本章节的题目。")
printf("\n请按照以下列表选择题目:")
printf("\n编号\t题目编号\n1\t第1题\n2\t第2题\n")
printf("\n请选择:")
switch(choiceex=getch())
{
void c2_1()
void c2_2()
case '1':c2_1()break
case '2':c2_2()break
default:
printf("\n你个白痴!这也能选错!不让你重选了!")
printf("\n按任意键以退出!")
getch()
exit(0)
}
}
void c1_1()
{
char howtorun
printf("现在请选择考察方式:")
printf("\n编号\t考察方式\n 1\t运行程序\n 2\t查看源代码\n 3\t返回主菜单\n 4\t退出程序\n")
printf("请选择:")
switch(howtorun=getch())
{
void runc1_1()
void menue1()
case '1':runc1_1()break
case '2':printf("\n"),system("type \\caidan\\chapter1\\c1_1.c"),printf("\n"),getch()break
case '3':menue1()break
case '4':exit(0)break
default:
printf("程序即将结束!哈哈哈……")
printf("按任意键以结束程序!")
getch()
exit(0)
}}
void c1_2()
{
printf("c1_2 is OK!")
}void c2_1()
{
printf("c2_1 is OK!")
}void c2_2()
{
printf("c2_2 is OK!")
}
void runc1_1()
{
int a,b,max
printf("\nPlease input two integer numbers:")
printf("a=?,b=?\n")
scanf("%d,%d",&a,&b)
max=a>b?a:b
printf("The max number is %d",max)
}
大概就是这样做的。。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)