求C语言做的学生点名程序(急......~!!!!!)

求C语言做的学生点名程序(急......~!!!!!),第1张

#include<stdio.h>

#include<string.h>

main()

{

int a=0,b=0,c=0,d=0

char chr='O'

char t[]="noEnd"

//char *m[]={"20013011001杜永宁","20013011002王传华","20013011003殷泳","20013011004杨柳青"}

printf("........... A 开始点名.........end 结束点名...........\n")

printf("........... B 显示显示所有同学点名情况 ...........\n")

printf("........... C 保存点名 ...........\n")

printf("........... D 退出点名系统 ...........\n")

FILE *ft

//fp=fopen("myfile.dat","r")

ft=fopen("baochun.txt","w")

// fscanf(fp,"%s,%s,%s,%s",m[0],m[1],m[2],m[3])

while(chr!='x')

{

scanf("%c",&chr)

switch(chr)

{

case 'A':

while(strcmp(t,"over")!=0)

{

if(a+b+c+d==12) {a=b=c=d=0printf ("清零!\n")}

scanf("%s",&t)

if(strcmp(t,"20013011001杜永宁")==0)

{

a++

if(a<=3) printf("杜永宁已被点%d次\n",a)

if(a>3)

{ a=3

printf("杜永宁已被点完三次\n")

}

}

else if(strcmp(t,"20013011002王传华")==0) {

b++

if(b<=3) printf("王传华已被点%d次\n",b)

if(b>3)

{b=3

printf("王传华已被点完三次\n")}

}

else if(strcmp(t,"20013011003殷泳")==0){

c++

if(c<=3) printf("殷泳已被点%d次\n",c)

if(c>3)

{c=3

printf("殷泳已被点完三次\n")

}

}

else if(strcmp(t,"20013011004杨柳青")==0) {

d++

if(d<=3) printf("杨柳青已被点%d次\n",d)

if(d>3)

{d=3

printf("杨柳青已被点完三次\n")

}

}

}break

case 'B': {

printf("20013011001杜永宁已被点过名的次数为%d\n20013011002王传华已被点过名的次数为%d\ n20013011003殷泳已被点过名的次数为%d\n20013011004杨柳青已被点过名的次数为%d\n",a,b,c,d)}break

case 'C':{ printf("保存成功\n")

fprintf(ft,"20013011001 杜永宁 已被点过名的次数为%d\n,20013011002 王传华已被点过名的次数为%d\n,20013011003 殷泳 已被点过名的次数为%d\n,20013011004 杨柳青已被点过名的次数为%d\n",a,b,c,d)}break

default:break

}

}//while(chr!='x')

}

#include <stdio.h>

#include <stdlib.h>

#include <time.h>

typedef struct Student

{

char name[20]

bool IsRead

}Student

int main()

{

int i

int select

int mark=1

/袜行/下面中你还可以加入一些学生,记得初始化的IsRead都是false

Student student[]=

{

{"张三",false},

{"李四",false},

{"王五",false},

{"刘六",false},

{"赵七",false}

}

printf("欢迎进入点门系统,以下是全班铅好悉的花名册:\n")

for (i=0i<sizeof(student)/sizeof(Student)i++)

printf("%s ",student[i].name)

printf("\n")

do

{

printf("请选择:\n1.点名\n2.显示没有点到的学生名字\n3.退出点名系统\n")

scanf("%d",&select)

system("cls")//如果是Linux系统,把cls改成clear。如果是其他系统请把这行注释掉,清频

if(1==select)

{

mark = 1

while (1)

{

for(i=0i<sizeof(student)/sizeof(Student)i++)

mark=mark*(student[i].IsRead? 1:0)

if(mark)

{

printf("你已经把全班点了个遍\n")

break

}

srand(time(NULL))

i = rand()%(sizeof(student)/sizeof(Student))

if(!student[i].IsRead)

{

printf("点名:%s\n",student[i].name)

student[i].IsRead = true

break

}

}

}

else if (2==select)

{

for(i=0i<sizeof(student)/sizeof(Student)i++)

{

if(!student[i].IsRead)

printf("%s ",student[i].name)

}

printf("\n")

}

else if(3==select)

{

printf("谢谢使用\n")

return 0

}

}while(true)

return 0

}

这可是我一个字一个字的打出来的,专门为你槐乎写的!~


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12277674.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存