作为实训报告
至少要包含下面几部分
1实验的平台系统环境
实验过程
目的
2代码涉及的语法
3最终结果以及编码调试过程中的bug解决方法
经验总结
#include<stdioh> // 缺少头文件
int a;
int main()
{
float f=13423;
printf("a=%d\\f=%2f\n",a,f); // 要输出\,由于其本身有转义字符的意思,需改为\\,即输出一个\
return 0; // 缺少返回值
}
// 后面的行多余,需删除。
运行结果如下:
UI课程-麦子学院ui免费下载
22ka
UI课程-麦子学院ui|第一阶段:软件设计基础|第四阶段:项目设计实战及提升|第三阶段|第二阶段:设计理论基础|09AE动效设计概论和实 *** |08玩转sketch|07交互设计之原型设计|06交互设计基础|05移动UI设计实战|04移动ui设计实战|03移动UI设计规范(下)|02移动ui设计规范|01流程图|9excel绘制甘特图mp4
这本书一共5章节,你说第三部分指的哪里?
第五章才是综合设计部分啊,而且这部分有好多例程,也不知道你要哪部分?
第1章 8051单片机C语言程序设计概述 1
11 8051单片机引脚 1
12 数据与程序内存 5
13 特殊功能寄存器 6
14 外部中断、定时器/计数器及串口应用 8
15 有符号与无符号数应用、数位分解、位 *** 作 9
16 变量、存储类型与存储模式 11
17 关于C语言运算符的优先级 13
18 字符编码 15
19 数组、字符串与指针 16
110 流程控制 18
111 可重入函数和中断函数 19
112 C语言在单片机系统开发中的优势 20
第2章 Proteus *** 作基础 21
21 Proteus *** 作界面简介 21
22 仿真电路原理图设计 22
23 元件选择 25
24 调试仿真 29
25 Proteus与Vision 3的联合调试 29
26 Proteus在8051单片机应用系统开发的优势 30
第3章 基础程序设计 32
31 闪烁的LED 32
32 双向来回的流水灯 34
33 花样流水灯 36
34 LED模拟交通灯 38
35 分立式数码管循环显示0~9 40
36 集成式数码管动态扫描显示 41
37 按键调节数码管闪烁增减显示 44
38 数码管显示4×4键盘矩阵按键 46
39 普通开关与拨码开关应用 49
310 继电器及双向可控硅控制照明设备 51
311 INT0中断计数 53
312 INT0及INT1中断计数 55
313 TIMER0控制单只LED闪烁 58
314 TIMER0控制数码管动态管显示 62
315 TIMER0控制8×8LED点阵屏显示数字 65
316 TIMER0控制门铃声音输出 68
317 定时器控制交通指示灯 70
318 TIMER1控制音阶演奏 72
319 TIMER0、TIMER1及TIMER2实现外部信号计数与显示 75
320 TIMER0、TIMER1及INT0控制报警器与旋转灯 77
321 按键控制定时器选播多段音乐 79
322 键控看门狗 82
323 双机串口双向通信 84
324 PC与单片机双向通信 90
325 单片机内置EEPROM读/写测试 95
第4章 硬件应用 99
41 74HC138译码器与反向缓冲器控制数码管显示 100
42 串入并出芯片74HC595控制数码管显示四位数字 103
43 用74HC164驱动多只数码管显示 106
44 并串转换器74HC165应用 110
45 用74HC148扩展中断 112
46 串口发送数据到2片8×8点阵屏滚动显示 115
47 数码管BCD解码驱动器CD4511与DM7447应用 117
48 62256RAM扩展内存 119
49 用8255实现接口扩展 121
410 可编程接口芯片8155应用 124
411 串行共阴显示驱动器控制4+2+2集成式数码管显示 129
412 14段与16段数码管演示 133
413 16键解码芯片74C922应用 136
414 1602字符液晶工作于8位模式直接驱动显示 139
415 1602液晶显示DS1302实时时钟 148
416 1602液晶屏工作于8位模式由74LS373控制显示 153
417 1602液晶屏工作于4位模式实时显示当前时间 155
418 1602液晶屏显示DS12887实时时钟 159
419 时钟日历芯片PCF8583应用 167
420 2×20串行字符液晶屏显示 174
421 LGM12864液晶屏显示程序 177
422 TG126410液晶屏串行模式显示 184
423 Nokia7110液晶屏菜单控制程序 192
424 T6963C液晶屏图文演示 199
425 ADC0832 A/D转换与LCD显示 211
426 用DAC0832生成锯齿波 215
427 ADC0808 PWM实验 217
428 ADC0809 A/D转换与显示 220
429 用DAC0808实现数字调压 221
430 16位A/D转换芯片LTC1864应用 223
431 I2C接口存储器AT24C04读/写与显示 225
432 I2C存储器设计的中文硬件字库应用 233
433 I2C接口4通道A/D与单通道D/A转换器PCF8591应用 237
434 I2C接口DS1621温度传感器测试 241
435 用兼容I2C接口的MAX6953驱动4片5×7点阵显示器 246
436 用I2C接口控制MAX6955驱动16段数码管显示 250
437 I2C接口数字电位器AD5242应用 254
438 SPI接口存储器AT25F1024读/写与显示 257
439 SPI接口温度传感器TC72应用测试 264
440 温度传感器LM35全量程应用测试 268
441 SHT75温湿度传感器测试 272
442 直流电机正、反转及PWM调速控制 278
443 正反转可控的步进电机 281
444 ULN2803驱动点阵屏仿电梯数字滚动显示 284
445 液晶显示MPX4250压力值 286
446 12864LCD显示24C08保存的开机画面 289
447 用M145026与M145027设计的无线收发系统 293
448 DS18B20温度传感器测试 296
449 1-Wire式可寻址开关DS2405应用测试 303
450 MMC存储卡测试 307
第5章 综合设计 316
51 带日历时钟及温度显示的电子万年历 316
52 用8051+1601LCD设计的整型计算器 321
53 电子秤仿真设计 328
54 1602液晶屏显示仿手机键盘按键字符 332
55 用24C04与1602液晶屏设计的简易加密电子锁 336
56 1-Wire总线器件ROM搜索与多点温度监测 341
57 高仿真数码管电子钟设计 356
58 用DS1302与12864LCD设计的可调式中文电子日历 360
59 用T6963C液晶屏设计的指针式电子钟 366
510 T6963C液晶屏中文显示温度与时间 370
511 T6963C液晶屏曲线显示ADC0832两路A/D转换结果 372
512 温度控制直流电机转速 374
513 用74LS595与74LS154设计的16×16点阵屏 377
514 用8255与74LS154设计的16×16点阵屏 379
515 红外遥控收发仿真 381
516 GP2D12红外测距传感器应用 388
517 三端可调正稳压器LM317应用测试 395
518 数码管显示的K型热电偶温度计 399
519 交流电压检测与数字显示仿真 403
520 用MCP3421与RTD-PT100设计的铂电阻温度计 407
521 可接收串口信息的带中英文硬字库的80×16 LED点阵屏 414
522 模拟射击训练游戏 422
523 GPS仿真 427
524 温室监控系统仿真 431
525 基于Modbus总线的数据采集与开关控制系统设计仿真 437
建议你到脚本之家网站去搜索一下看看有没有这本书的电子档。
单片机c语言编程100个实例目录1 函数的使用和熟悉例26:用P0 口显示指针运算结果 实例27:用指针数组控制P0口8位LED流水点亮 实例28:用数组的指针控制P0 口8 位LED流水点亮 实例29:用P0 、P1口显示整型函数返回值 实例30:用有参函数控制P0口8位LED流水速度 实例31:用数组作函数参数控制流水花样 实例32:用指针作函数参数控制P0口8位LED流水点亮 实例33:用函数型指针控制P1口灯花样 实例34:用指针数组作为函数的参数显示多个字符串 单片机c语言编程100个实例目录2 实例35:字符函数ctypeh应用举例 实例36:内部函数intrinsh应用举例 实例37:标准函数stdlibh应用举例 实例38:字符串函数stringh应用举例 实例39:宏定义应用举例2 实例40:宏定义应用举例2 实例41:宏定义应用举例3 中断、定时器中断、定时器 中断、定时器中断、定时器 / 实例42:用定时器T0查询方式P2口8位控制LED闪烁 实例43:用定时器T1查询方式控制单片机发出1KHz音频 实例44:将计数器T0计数的结果送P1口8位LED显示 实例45:用定时器T0的中断控制1位LED闪烁 实例46:用定时器T0的中断实现长时间定时 实例47:用定时器T1中断控制两个LED以不同周期闪烁 实例48:用计数器T1的中断控制蜂鸣器发出1KHz音频 实例49:用定时器T0的中断实现"渴望"主题曲的播放 实例50-1:输出50个矩形脉冲 实例50-2:计数器T0统计外部脉冲数 实例51-2:定时器T0的模式2测量正脉冲宽度 实例52:用定时器T0控制输出高低宽度不同的矩形波 实例53:用外中断0的中断方式进行数据采集 实例54-1:输出负脉宽为200微秒的方波 实例54-2:测量负脉冲宽度 实例55:方式0控制流水灯循环点亮 实例56-1:数据发送程序 实例56-2:数据接收程序 实例57-1:数据发送程序 实例57-2:数据接收程序 实例58:单片机向PC发送数据 实例59:单片机接收PC发出的数据 数码管显示数码管显示 数码管显示数码管显示/ 实例60:用LED数码显示数字5 实例61:用LED数码显示器循环显示数字0~9 实例62:用数码管慢速动态扫描显示数字"1234" 实例63:用LED数码显示器伪静态显示数字1234 实例64:用数码管显示动态检测结果 实例65:数码秒表设计 实例66:数码时钟设计 实例67:用LED数码管显示计数器T0的计数值 实例68:静态显示数字“59” 单片机c语言编程100个实例目录3 键盘控制键盘控制 键盘控制 键盘控制 / 实例69:无软件消抖的独立式键盘输入实验 实例70:软件消抖的独立式键盘输入实验 实例71:CPU控制的独立式键盘扫描实验 实例72:定时器中断控制的独立式键盘扫描实验 实例73:独立式键盘控制的4级变速流水灯 实例74:独立式键盘的按键功能扩展:"以一当四" 实例75:独立式键盘调时的数码时钟实验 实例76:独立式键盘控制步进电机实验 实例77:矩阵式键盘按键值的数码管显示实验 //实例78:矩阵式键盘按键音 实例79:简易电子琴 实例80:矩阵式键盘实现的电子密码锁 液晶显示LCD液晶显示LCD 液晶显示LCD 液晶显示LCD液晶显示LCD 液晶显示LCD / 实例81:用LCD显示字符'A' 实例82:用LCD循环右移显示"Welcome to China" 实例83:用LCD显示适时检测结果 实例84:液晶时钟设计 一些芯片的使用24c02 DS18B20 X5045 ADC0832 DAC0832 DS1302 红外遥控/ 实例85:将数据"0x0f"写入AT24C02再读出送P1口显示 实例86:将按键次数写入AT24C02,再读出并用1602LCD显示 实例87:对I2C总线上挂接多个AT24C02的读写 *** 作 实例88:基于AT24C02的多机通信 读取程序 实例89:基于AT24C02的多机通信 写入程序 实例90:DS18B20温度检测及其液晶显示 实例91:将数据"0xaa"写入X5045再读出送P1口显示 实例92:将流水灯控制码写入X5045并读出送P1口显示 实例93:对SPI总线上挂接多个X5045的读写 *** 作 实例94:基于ADC0832的数字电压表 实例95:用DAC0832产生锯齿波电压 实例96:用P1口显示红外遥控器的按键值 实例97:用红外遥控器控制继电器 实例98:基于DS1302的日历时钟 实例99:单片机数据发送程序 实例100:电机转速表设计 模拟霍尔脉冲 实例3:用单片机控制第一个灯亮 实例4:用单片机控制一个灯闪烁:认识单片机的工作频率 实例5:将 P1口状态分别送入P0、P2、P3口:认识I/O口的引脚功能 实例6:使用P3口流水点亮8位LED 实例7:通过对P3口地址的 *** 作流水点亮8位LED 实例8:用不同数据类型控制灯闪烁时间 实例9:用P0口、P1 口分别显示加法和减法运算结果 实例10:用P0、P1口显示乘法运算结果 实例11:用P1、P0口显示除法运算结果 实例12:用自增运算控制P0口8位LED流水花样 实例13:用P0口显示逻辑"与"运算结果 实例14:用P0口显示条件运算结果 实例15:用P0口显示按位"异或"运算结果 实例16:用P0显示左移运算结果 实例17:"万能逻辑电路"实验 实例18:用右移运算流水点亮P1口8位LED 实例19:用if语句控制P0口8位LED的流水方向 实例20:用swtich语句的控制P0口8位LED的点亮状态 实例21:用for语句控制蜂鸣器鸣笛次数 实例22:用while语句控制LED 实例23:用do-while语句控制P0口8位LED流水点亮 实例24:用字符型数组控制P0口8位LED流水点亮 实例25: 用P0口显示字符串常量 实例26:用P0 口显示指针运算结果
他给你的源程序告诉你用什么运行环境了么!我用的是AVRstudio60打开一个文件的时候,有一个选择单片机的型号。在那里面选中你所用的单片机。之后打开扩展名为C的文件!如果你的时项目文件,那就直接打开那个项目就可以了!编译之后生成的hex文件,,用PROTEUS加载就可以进行仿真了!
1 填空 1在类中必须声明成员函数的 引用 3 或 类型或 抽象 类型 指针 原型 类型。 个数 ,成员函数的 实现 部分可以写在
2 阅读下列程序,写出其运行时的输出结果如果程序运行时会出现错误,请简要描述错误 1请在以下两题中任选一题,该题得分即为本小题得分。如两
3 阅读下列程序及说明和注释信息,在方框中填写适当的程序段,使程序完成指定的功 能 程序功能说明:从键盘读入两个分别按由小到大次序排列的整数序列,
程序设计基础实训
项目名称:
学生学分管理
系 别: 计算机工程系
专 业: 计算机网络技术
班 级: 0922211
学生姓名:
指导教师: 韦立蓉
北 京 信 息 职 业 技 术 学 院
2010年 1 月 日
一、项目背景介绍
(概要介绍此项目设计的意义和要求)
本程序为学生学分管理系统。本程序根据现实中的问题通过c语言形式编程。本程序要求能够登记学分,显示学分查询学分,修改学分,删除学分,统计学分。
二、程序功能描述:
(描述基本程序中每个函数的功能,给处各函数流程图)
1、
登记单流程图
2、
显示学分流程图
3、
查询学分流程图
4、
修改信息流程图
5、
删除信息流程图
6、
统计信息流程图
三、设计方案介绍
(基本思想函数调用的思路介绍)
1、主流程图
2、界面设计
(界面设计,函数的定义,功能设计、,罗列出所有需要解决的问题
函数调用问题,循环问题,查找问题,修改问题,查询问题,删除问题,比较问题。
3、变量定义
序号 变量名 变量性质(局部/全局) 功能 作用范围
1 typedef 全局 定义结构体类型 整体
2 Int 全局 定义五门课类型 整体
Char 全局 定义学号班级姓名类型 整体
5、函数调用的类型
四、测试与分析
(简要介绍测试的作用及意义)
测试可以知道所编写的程序是否可行,通过实际的测试可以找出程序是否符合现实。通过测试和反复修改可以使程序更加人性化。
(一)测试列表
(以表格的形式给出,不少于10个)
测试数据或执行 *** 作 执行结果 是否正确 测试人签名
调用主菜单 显示了主菜单 正确
选择主菜单里的1 请输入学生学生信息… 正确
输出 有重复有乱码 否
查询 无 否
修改 按学号修改…… 是
按学号查询 显示了该信息 是
按班级查询 只显示里一名同学的信息 否
按学好删除 删除成功 是
须补考基础课的 所有学生信息都显示 否
可升学学生 显示了该显示的信息 是
(二)测试结果分析
(根据以下表格,如实填写并签名)
bug个数 错误类型 错误原因分析 是否修改 设计者签名
1 与count声名中的类型不匹配 少了void count() 是
2 错误 jiac 19: 表达式语法错在 main 函数中 Scanf中少了&s 是
4 错误 jiac 31: do语句中必须有while关键字在 main 函数中 没写while 是
5 错误 jiac 30: 未定义的符号's'在 main 函数中 上面没int I; 是
6 错误 1c 335: 表达式语法错在 count 函数中 Switch() 括号里没有变量 是
7
五、实训总结
(总结实训过程中的所使用的知识和已实现的功能,总结自己掌握理论知识和动手能力的程度,提出自己的不足之处及改进措施)
通过这一周的实训。我们充分运用了所学的东西编出了解决实际问题的程序。我们运用了函数的调用,循环,定义,比较,查找,删除等知识。通过实际动手,我更加深入的了解了课本上的知识。同时提高了我的动手能力。
实训中我找到了我许多的不足,以前我遇到不董的就会直接去问别人,不独自思考。试训中我学会了独自思考和团队合作。虽然我在编程当中遇到许多问题,但经过独自思考和学习解决了问题。最后编出了管理程序。
C语言学生学分管理程序代码
typedef struct student
{ char num[11],name[7],class[10];
int jichu,renwen,xuanxiu,zhuanye,shiyan;
}STU;
STU st[37];
static int n;
void menu();
void input();
void print();
void query();
void modi();
void del();
void count();
main()
{ int s;
do{
menu();
printf("\n\t\t\t\t 请选择:");
scanf("%d",&s);
switch(s)
{ case 0:break;
case 1:input();break;
case 2:print();break;
case 3:query();break;
case 4:modi();break;
case 5:del();break;
case 6:count();break;
default:printf("选择无效!");
}
}while(s!=0);
getch();
}
void menu()
{ clrscr();
printf("\t\t\t\n");
printf("\t\t\t欢迎您的使用\n");
printf("\t\t\t学生学分管理程序\n");
printf("\t\t\t 1-登记学生学分 \n");
printf("\t\t\t 2-显示学生学分 \n");
printf("\t\t\t 3-查询学生学分 \n");
printf("\t\t\t 4-修改学生学分 \n");
printf("\t\t\t 5-删除学生学分 \n");
printf("\t\t\t 6-统计学生学分 \n");
printf("\t\t\t 0-退出 \n");
printf("\t\t\t\n");
}
void input()
{ do
{ printf("请输入学生信息:学号 姓名 班级 基础课 专业课 选修课 人文课 实验课\n");
scanf("%s%s%s%d%d%d%d%d",st[n]num,st[n]name,st[n]class,&st[n]jichu,&st[n]zhuanye,&st[n]xuanxiu,&st[n]renwen,&st[n]shiyan);
n++;
printf("是否继续输入?(n-退出,任意键继续):");
}while(getche()!='n');
}
void print()
{ int i;
printf("\n序号\t学号\t 姓名\t班级\t基础课\t专业课\t选修课\t人文课\t实验课\n");
for(i=0;i<n;i++)
printf("%2d %7s %7s %5s %4d\t%4d\t%4d\t%4d\t%4d\n",i+1,st[i]num,st[i]name,st[i]class,st[i]jichu,st[i]zhuanye,st[i]xuanxiu,st[i]renwen,st[i]shiyan);
getch();
}
void menu1()
{ clrscr();
printf("\t\t\t\n");
printf("\t\t\t查询模块\n");
printf("\t\t\t 1-按学号查询 \n");
printf("\t\t\t 2-按姓名查询 \n");
printf("\t\t\t 3-按班级查询 \n");
printf("\t\t\t 0-退出 \n");
printf("\t\t\t\n");
}
void query1()
{ char sn[11];
int i;
printf("请输入要查询的学号:");
scanf("%s",sn);
for(i=0;i<n;i++)
if(strcmp(sn,st[i]num)==0)
{printf("\n序号\t学号\t 姓名\t班级\t基础课\t专业课\t选修课\t人文课\t实验课\n");
printf("%2d %7s %7s %5s %4d\t%4d\t%4d\t%4d\t%4d\n",i+1,st[i]num,st[i]name,st[i]class,st[i]jichu,st[i]zhuanye,st[i]xuanxiu,st[i]renwen,st[i]shiyan);
printf("\按任意键继续");
break;
}
else printf("\n对不起!没有该学号,任意键继续");
getch();
}
void query2()
{ char sn[7];
int i;
printf("请输入要查询的姓名:");
scanf("%s",sn);
for(i=0;i<n;i++)
if(strcmp(sn,st[i]name)==0)
{printf("\n序号\t学号\t 姓名\t班级\t基础课\t专业课\t选修课\t人文课\t实验课\n");
printf("%2d %7s %7s %5s %4d\t%4d\t%4d\t%4d\t%4d\n",i+1,st[i]num,st[i]name,st[i]class,st[i]jichu,st[i]zhuanye,st[i]xuanxiu,st[i]renwen,st[i]shiyan);
printf("\按任意键继续");
break;
}else printf("\n对不起!没有该姓名,任意键继续");
getch();
}
void query3()
{ char sn[10];
int i;
printf("请输入要查询的班级:");
scanf("%s",sn);
for(i=0;i<n;i++)
if(strcmp(sn,st[i]class)==0)
{printf("\n序号\t学号\t 姓名\t班级\t基础课\t专业课\t选修课\t人文课\t实验课\n");
printf("%2d %7s %7s %5s %4d\t%4d\t%4d\t%4d\t%4d\n",i+1,st[i]num,st[i]name,st[i]class,st[i]jichu,st[i]zhuanye,st[i]xuanxiu,st[i]renwen,st[i]shiyan);
printf("\按任意键继续");
break;
}
else printf("\n对不起!没有该班,任意键继续");
getch();
}
void query()
{ int s;
do{
menu1();
printf("\n\t\t\t\t 请选择:");
scanf("%d",&s);
switch(s)
{ case 0:break;
case 1:query1();break;
case 2:query2();break;
case 3:query3();break;
default:printf("选择无效!");
}
}while(s!=0);
getch();
}
void menu2()
{ clrscr();
printf("\t\t\t\n");
printf("\t\t\t修改模块\n");
printf("\t\t\t 1-按学号修改 \n");
printf("\t\t\t 2-按姓名修改 \n");
printf("\t\t\t 3-按班级修改 \n");
printf("\t\t\t 0-退出 \n");
printf("\t\t\t\n");
}
void modi1()
{ char sn[11];
int i;
printf("请输入要修改学分学生的学号:");
scanf("%s",sn);
for(i=0;i<n;i++)
if(strcmp(sn,st[i]num)==0)
{printf("\n序号\t学号\t 姓名\t班级\t基础课\t专业课\t选修课\t人文课\t实验课\n");
printf("%2d %7s %7s %5s %4d\t%4d\t%4d\t%4d\t%4d\n",i+1,st[i]num,st[i]name,st[i]class,st[i]jichu,st[i]zhuanye,st[i]xuanxiu,st[i]renwen,st[i]shiyan);
{printf("请输入学生学分信息:学号 姓名 班级 基础课 专业课 选修课 人文课 实验课\n");
scanf("%s%s%s%d%d%d%d%d",st[i]num,st[i]name,st[i]class,&st[i]jichu,&st[i]zhuanye,&st[i]xuanxiu,&st[i]renwen,&st[i]shiyan);
printf("是否继续输入?(n-退出,任意键继续):");
}while(getche()!='n');
break;
}
getch();
}
void modi2()
{ char sn[7];
int i;
printf("请输入要修改学分学生的姓名:");
scanf("%s",sn);
for(i=0;i<n;i++)
if(strcmp(sn,st[i]name)==0)
{printf("\n序号\t学号\t 姓名\t班级\t基础课\t专业课\t选修课\t人文课\t实验课\n");
printf("%2d %7s %7s %5s %4d\t%4d\t%4d\t%4d\t%4d\n",i+1,st[i]num,st[i]name,st[i]class,st[i]jichu,st[i]zhuanye,st[i]xuanxiu,st[i]renwen,st[i]shiyan);
{printf("请输入学生学分信息:学号 姓名 班级 基础课 专业课 选修课 人文课 实验课\n");
scanf("%s%s%s%d%d%d%d%d",st[i]num,st[i]name,st[i]class,&st[i]jichu,&st[i]zhuanye,&st[i]xuanxiu,&st[i]renwen,&st[i]shiyan);
printf("是否继续输入?(n-退出,任意键继续):");
}while(getche()!='n');
break;
}
getch();
}
void modi3()
{ char sn[10];
int i;
printf("请输入要修改学分学生的班级:");
scanf("%s",sn);
for(i=0;i<n;i++)
if(strcmp(sn,st[i]class)==0)
{printf("\n序号\t学号\t 姓名\t班级\t基础课\t专业课\t选修课\t人文课\t实验课\n");
printf("%2d %7s %7s %5s %4d\t%4d\t%4d\t%4d\t%4d\n",i+1,st[i]num,st[i]name,st[i]class,st[i]jichu,st[i]zhuanye,st[i]xuanxiu,st[i]renwen,st[i]shiyan);
{printf("请输入学生学分信息:学号 姓名 班级 基础课 专业课 选修课 人文课 实验课\n");
scanf("%s%s%s%d%d%d%d%d",st[i]num,st[i]name,st[i]class,&st[i]jichu,&st[i]zhuanye,&st[i]xuanxiu,&st[i]renwen,&st[i]shiyan);
printf("是否继续输入?(n-退出,任意键继续):");
} while(getche()!='n');
break;
}
getch();
}
void modi()
{ int s;
do{
menu2();
printf("\n\t\t\t\t 请选择:");
scanf("%d",&s);
switch(s)
{ case 0:break;
case 1:modi1();break;
case 2:modi2();break;
case 3:modi3();break;
default:printf("选择无效!");
}
}while(s!=0);
getch();
}
void menu3()
{ clrscr();
printf("\t\t\t\n");
printf("\t\t\t删除模块\n");
printf("\t\t\t 1-按学号删除 \n");
printf("\t\t\t 2-按姓名删除 \n");
printf("\t\t\t 3-按班级删除 \n");
printf("\t\t\t 0-退出 \n");
printf("\t\t\t\n");
}
void del1()
{ char sn[11];
int i,j;
printf("请输入要删除学分学生的学号:");
scanf("%s",sn);
for(i=0;i<n;i++)
if(strcmp(sn,st[i]num)==0)
{printf("\n序号\t学号\t 姓名\t班级\t基础课\t专业课\t选修课\t人文课\t实验课\n");
printf("%2d %7s %7s %5s %4d\t%4d\t%4d\t%4d\t%4d\n",i+1,st[i]num,st[i]name,st[i]class,st[i]jichu,st[i]zhuanye,st[i]xuanxiu,st[i]renwen,st[i]shiyan);
printf("\n是否删除(任意键确认,n\取消)");
if(getche()!='n');
{if(i!=n-1);
for(j=i;j<n-1;j++)
st[j]=st[j+1];
n--;
printf("\n该记录已删除");
getch();
break ;
}
}
else printf("\n对不起!没有该学号,任意键继续");
}
void del2()
{ char sn[7];
int i,j;
printf("请输入要删除学分学生的姓名:");
scanf("%s",sn);
for(i=0;i<n;i++)
if(strcmp(sn,st[i]name)==0)
{printf("\n序号\t学号\t 姓名\t班级\t基础课\t专业课\t选修课\t人文课\t实验课\n");
printf("%2d %7s %7s %5s %4d\t%4d\t%4d\t%4d\t%4d\n",i+1,st[i]num,st[i]name,st[i]class,st[i]jichu,st[i]zhuanye,st[i]xuanxiu,st[i]renwen,st[i]shiyan);
printf("\n是否删除(任意键确认,n\取消)");
if(getche()!='n');
{if(i!=n-1);
for(j=i;j<n-1;j++)
st[j]=st[j+1];
n--;
printf("\n该记录已删除");
getch();
break ;
}
}
else printf("\n对不起!没有该学号,任意键继续");
}
void del3()
{ char sn[10];
int i,j;
printf("请输入要删除学分学生的班级:");
scanf("%s",sn);
for(i=0;i<n;i++)
if(strcmp(sn,st[i]class)==0)
{printf("\n序号\t学号\t 姓名\t班级\t基础课\t专业课\t选修课\t人文课\t实验课\n");
printf("%2d %7s %7s %5s %4d\t%4d\t%4d\t%4d\t%4d\n",i+1,st[i]num,st[i]name,st[i]class,st[i]jichu,st[i]zhuanye,st[i]xuanxiu,st[i]renwen,st[i]shiyan);
printf("\n是否删除(任意键确认,n\取消)");
if(getche()!='n');
{if(i!=n-1);
for(j=i;j<n-1;j++)
st[j]=st[j+1];
n--;
printf("\n该记录已删除");
getch();
break ;
}
}
else printf("\n对不起!没有该学号,任意键继续");
}
void del()
{ int s;
do{
menu3();
printf("\n\t\t\t\t 请选择:");
scanf("%d",&s);
switch(s)
{ case 0:break;
case 1:del1();break;
case 2:del2();break;
case 3:del3();break;
default:printf("选择无效!");
}
}while(s!=0);
getch();
}
void menu4()
{ clrscr();
printf("\t\t\t\n");
printf("\t\t\t统计模块\n");
printf("\t\t\t 1- 可升学的学生 \n");
printf("\t\t\t 2-需补考基础课的 \n");
printf("\t\t\t 3-需补考专业课的 \n");
printf("\t\t\t 4-需补考选修课的 \n");
printf("\t\t\t 5-需补考人文课的 \n");
printf("\t\t\t 6-需补考实验课的 \n");
printf("\t\t\t 0-退出 \n");
printf("\t\t\t\n");
}
void count1()
{ int i;
printf("\n序号\t学号\t 姓名\t班级\t基础课\t专业课\t选修课\t人文课\t实验课\n");
for(i=0;i<n;i++)
if(st[i]jichu>=60&st[i]zhuanye>=60&st[i]xuanxiu>=60&st[i]renwen>=60&st[i]shiyan>=60)
printf("%2d %7s %7s %5s %4d\t%4d\t%4d\t%4d\t%4d\n",i+1,st[i]num,st[i]name,st[i]class,st[i]jichu,st[i]zhuanye,st[i]xuanxiu,st[i]renwen,st[i]shiyan);
getch();
}
void count2()
{ int i;
printf("\n序号\t学号\t 姓名\t班级\t基础课\t专业课\t选修课\t人文课\t实验课\n");
for(i=0;i<n;i++)
if(st[i]jichu<60&st[i]zhuanye>=60&st[i]xuanxiu>=60&st[i]renwen>=60&st[i]shiyan>=60)
printf("%2d %7s %7s %5s %4d\t%4d\t%4d\t%4d\t%4d\n",i+1,st[i]num,st[i]name,st[i]class,st[i]jichu,st[i]zhuanye,st[i]xuanxiu,st[i]renwen,st[i]shiyan);
getch();
}void count3()
{ int i;
printf("\n序号\t学号\t 姓名\t班级\t基础课\t专业课\t选修课\t人文课\t实验课\n");
for(i=0;i<n;i++)
if(st[i]jichu>=60&st[i]zhuanye<60&st[i]xuanxiu>=60&st[i]renwen>=60&st[i]shiyan>=60)
printf("%2d %7s %7s %5s %4d\t%4d\t%4d\t%4d\t%4d\n",i+1,st[i]num,st[i]name,st[i]class,st[i]jichu,st[i]zhuanye,st[i]xuanxiu,st[i]renwen,st[i]shiyan);
getch();
}
void count4()
{ int i;
printf("\n序号\t学号\t 姓名\t班级\t基础课\t专业课\t选修课\t人文课\t实验课\n");
for(i=0;i<n;i++)
if(st[i]jichu>=60&st[i]zhuanye>=60&st[i]xuanxiu<60&st[i]renwen>=60&st[i]shiyan>=60)
printf("%2d %7s %7s %5s %4d\t%4d\t%4d\t%4d\t%4d\n",i+1,st[i]num,st[i]name,st[i]class,st[i]jichu,st[i]zhuanye,st[i]xuanxiu,st[i]renwen,st[i]shiyan);
getch();
}
void count5()
{ int i;
printf("\n序号\t学号\t 姓名\t班级\t基础课\t专业课\t选修课\t人文课\t实验课\n");
for(i=0;i<n;i++)
if(st[i]jichu>=60&st[i]zhuanye>=60&st[i]xuanxiu>=60&st[i]renwen<60&st[i]shiyan>=60)
printf("%2d %7s %7s %5s %4d\t%4d\t%4d\t%4d\t%4d\n",i+1,st[i]num,st[i]name,st[i]class,st[i]jichu,st[i]zhuanye,st[i]xuanxiu,st[i]renwen,st[i]shiyan);
getch();
}
void count6()
{ int i;
printf("\n序号\t学号\t 姓名\t班级\t基础课\t专业课\t选修课\t人文课\t实验课\n");
for(i=0;i<n;i++)
if(st[i]jichu>=60&st[i]zhuanye>=60&st[i]xuanxiu>=60&st[i]renwen>=60&st[i]shiyan<60)
printf("%2d %7s %7s %5s %4d\t%4d\t%4d\t%4d\t%4d\n",i+1,st[i]num,st[i]name,st[i]class,st[i]jichu,st[i]zhuanye,st[i]xuanxiu,st[i]renwen,st[i]shiyan);
getch();
}
void count()
{ int s;
do{
menu4();
printf("\n\t\t\t\t 请选择:");
scanf("%d",&s);
switch(s)
{ case 0:break;
case 1:count1();break;
case 2:count2();break;
case 3:count3();break;
case 4:count4();break;
case 5:count5();break;
case 6:count6();break;
default:printf("选择无效!");
}
}while(s!=0);
getch();
}
以上就是关于C语言 程序设计与应用教程 顺序结构程序设计 的实训报告怎样写全部的内容,包括:C语言 程序设计与应用教程 顺序结构程序设计 的实训报告怎样写、c程序设计教程 求大神解决哪里有问题 实训内容。。、软件开发需要学习什么知识等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)