c语言随机点名系统
来源:互联网 发布:app图标设计软件 编辑:程序博客网 时间:2024/05/16 11:20
#include<stdio.h>
#include<stdlib.h>
#define STUDENTNUM4 //定义班级学生的总人数
//定义一个学生结构体,用来存储学生的各种信息
typedefstruct{
char studentNo[3];//学生编号
char studentName[15];//学生姓名
} student;
//定义一个结构体数组,用来保存班级所有学生的信息
student information[STUDENTNUM]={0};
int main(int argc,const char * argv[]) {
//函数声明部分
void studentInformation();
void callRoll();
void ui();
printf("********欢迎使用随机点名系统********\n");
//打印界面
ui();
//接收用户的输入,并进行对应的操作
int flag;
while (1) {
scanf("%d",&flag);
if (flag==1) {
//调用录入学生信息函数
studentInformation();
printf("信息录入完毕,请使用功能键进行其他操作\n");
ui();
continue;
}elseif(flag==2){
//调用随机点名函数
callRoll();
}elseif(flag==3){
//退出系统
printf("系统已成功退出,感谢您的使用\n");
return 0;
}else{
printf("您的输入不正确,请重新输入\n");
continue;
}
}//while到此结束
return 0;
}
/**
* 录入学生信息函数
*/
void studentInformation(){
//循环遍历数组,接收用户输入的学生信息
for (int i=0; i<sizeof(information)/sizeof(student); i++) {
printf("请输入第%d个学生的编号\n",i+1);
scanf(" %s",information[i].studentNo);
printf("请输入第%d个学生的姓名\n",i+1);
scanf(" %s",information[i].studentName);
}
FILE *fp=fopen("/Users/oujun/Desktop/1.txt","w");
if (fp) {
fwrite(information,sizeof(information),1, fp);
}
fclose(fp);
}
/**
* 随机点名函数
*/
void callRoll(){
//从文件中读取数据
FILE *fp=fopen("/Users/oujun/Desktop/1.txt","r");
if (fp) {
fread(information,sizeof(information),1, fp);
}
fclose(fp);
char select=0;
int i=0;//定义变量保存随机数
printf("请按a键进行随机点名\n");
while (1) {
printf("\n");
scanf(" %c",&select);
if (select=='a') {
printf("点点点......,哎呀\n");
//利用随机出来的数作为结构体数组的下标来访问输出学生的信息
i=arc4random_uniform(STUDENTNUM);
printf("%s同学,轮到你回答问题了哦\n",information[i].studentName);
}
else{
printf("不要乱点\n");
}
}
}
/**
* 打印界面函数
*/
void ui(){
//打印界面
printf("**请根据提示选择你需要的功能进行操作**\n");
printf("1->手动录入学生信息\n");
printf("2->进行随机点名\n");
printf("3->退出系统\n");
}
- c语言随机点名系统
- 用C语言编写一个随机点名系统
- js随机点名系统
- 简单的随机点名系统
- JS之随机点名系统
- java 小程序之随机点名系统
- 随机点名
- 随机点名
- 随机点名
- 叫你怎么用javascript制作制作随机点名系统!
- EXCEL VBA入门(课堂随机点名系统)
- 点名系统
- js随机点名
- javascript 随机点名
- 学生随机点名程序
- iOS 随机点名App
- 随机点名程序.cs
- RandamName随机点名
- Eclipse自动刷新
- shell工作应用总结
- 选股要选龙头 强势股选取五点诀窍
- adb常用命令
- 有关数据库表被锁定的问题
- c语言随机点名系统
- mysql 批量插入
- 非类型模板形参取数组的维数
- urllib and urllib2
- linux命令大全
- 获取指定某一天的00:00—23:59
- 单元测试框架
- JavaScript高级程序设计之DOM之节点层次之Comment类型第10.1.5讲
- 黑马程序员----- 一、Android开发日常积累之-----安卓网络层