c语言实验报告3
- 格式:pdf
- 大小:941.97 KB
- 文档页数:21
输入电话号码:1-800-COL-LECT,则输出:1-800-265-5328。 提示:电话上的字母、数字对照表如下:2=ABC,3=DEF,4=GHI,5=JKL,6=MNO, 7=PRS,8=TUV,9=WXY。如果原始的电话号码中出现了非字母字符,则这部分字符保持 不变。 3.奖金发放 企业发放的奖金根据利润提成。利润低于或等于 10 万元时,奖金可提 10%;利润高于 10 万元,低于 20 万元时,低于 10 万元的部分按 10%提成,高于 10 万元的部分,可提成 7.5%;20 万到 40 万之间时,高于 20 万元的部分,可提成 5%;超过 40 万元的部分按 3% 提成,编写一个函数从键盘输入当月利润,输出应发放奖金的总数?
9
实验 2:学生信息管理系统课程设计
一、 课程设计内容与要求
编写一个学生信息管理系统,主要用来管理学生基本信息及成绩信息。每个学生的信息 包括:学号、姓名、性别、班级、3 门课程的成绩。系统功能模块如图 2.1 所示。
图 2.1 学生信息管理系统功能模块图
1.主菜单设计
使用 printf 函数设计一个如下格式的主菜单:
6.退出
当在主菜单中选择了 5 退出时,输出“谢谢使用!”,结束整个程序的运行。
二、需求分析
1. 程序的功能:
编写一个学生信息管理系统,主要用来管理学生基本信息及成绩信息。
2. 测试数据:学号、姓名、性别、班级、3 门课程的成绩。
三、详细设计
1. 用 C 语言定义相关的数据类型
struct student_list
在主菜单程序中,应该能够根据输入的数字来执行相应的选项,即:输入 1~4 时执行
菜单对应选项内容,执行完相关内容返回显示主菜单;输入 5 时结束程序运行;输入 1~5
之外的其它信息,提示输入错误。每一个菜单要完成的任务由下面的 2~ 6 依次给出。
2.数据输入
编写一个函数完成学生信息的输入功能,当学号输入为 0 时结束信息输入。每个学生的 信息包括如下几个方面:学号、姓名、性别、班级、以及语文、数学、英语三门课程成绩。
****************************************************************************
1:数据输入
2:数据修改
3:数据的处理
4:数据输出
5:退出
****************************************************************************
调用“字母数字转换”函数的运行结果
调用 3 函数运行结果参考示例如下图所示:
调用“奖金发放”函数的运行结果 4
调用 4 函数运行结果参考示例如下图所示:
调用“打印月历”函数的运行结果
调用 5 函数运行结果参考示如下图所示:
调用“打印水仙花”函数的运行结果
调用 6 函数运行结果参考示例如下图所示:
5
printf("%d\t",k); n++; if(n%7==0) printf("\n"); } printf("\n"); printf("------请输入菜单项------\n"); return 0; } int f4() { int a,b,c,d; printf("水仙花数是:\n"); for(a=100;a<1000;a++) { b=a/100; c=a/10-b*10; d=a%10; if(a==b*b*b+c*c*c+d*d*d)
调用“查找最大最小数”函数的运行结果
整个程序所有的函数连续调用的程序运行结果下图所示:
6
六:源程序 实验一 #include<stdio.h> int f1() {
char ch; printf("请输入电话号码,以#键结束"); while((ch=getchar())!='#') {
if(ch=='A'||ch=='B'||ch=='C') ch='2'; if(ch=='D'||ch=='E'||ch=='F') ch='3'; if(ch=='G'||ch=='H'||ch=='I') ch='4'; if(ch=='J'||ch=='K'||ch=='L') ch='5'; if(ch=='M'||ch=='N'||ch=='O') ch='6'; if(ch=='P'||ch=='Q'||ch=='S'||ch=='R') ch='7'; if(ch=='T'||ch=='U'||ch=='V') ch='8'; if(ch=='W'||ch=='X'||ch=='Y'||ch=='Z') ch='9'; else ch=ch; printf("%c",ch); } printf("\n"); printf("------请输入菜单项------\n"); return 0; } int f2() { int a; long float sum; printf("请输入利润:\n"); scanf("%d",&a); if(a<=100000) sum=a*0.1; else if(a>100000&&a<200000) sum=100000*0.1+(a-100000)*0.075; else if(a>200000&&a<400000) sum=200000*0.1+(a-200000)*0.05; else sum=400000*0.1+(a-400000)*0.03; printf("奖金是:%5.2f\n",sum); printf("------请输入菜单项------\n"); return 0;
3
五、使用说明及测试结果
显示 1 函数为以下的主菜单: ****************************************
主菜单: 1.字母数字转换 2.奖金发放 3.打印月历 4.打印水仙花 5.查找最大最小数 6.退出 **************************************** 调用 2 函数运行结果参考示例如下图所示:
输出功能。要求该函数能够将学生的当前各项信息按照较 为整齐的格式输出。
4.数据修改
编写一个函数完成学生信息的修改功能。要求该函数能够以学号为查询关键字,将满足 查找条件的学生信息显示输出,并以菜单形式提供可供修改的项目,选择项目并完成修改; 如果无满足查找条件的记录,则提示“无该学号学生记录!”。
7
} int f3() {
int a,b,c,j,k,n; printf("请输入显示月的天数:"); scanf("%d",&a); printf("请输入这个月开始的一天属于星期几:(1=星期日,2=星期 二.....):"); scanf("%d",&b); n=0; for(j=1;j<b;j++) { printf("\t"); n++; } for(k=1;k<a;k++) {
4.打印月历
编写一个函数,打印一个月的月历。要求给出要打印月份的天数以及本月第一天是星期 几。
2
5.打印水仙花数
三位水仙花数是指一个 3 位数,它的每个位上的数字的 3 次幂之和等于它本身。(例如: 1^3 + 5^3 + 3^3 = 153)。编写一个函数,打印出所有的三位的水仙花数。
6.查找最大最小数
5.数据处理
编写一个函数完成学生信息的处理功能。数据处理:可以选择的处理方式为:排序、查 询、统计。其中:
a) 排序:按学号排序; b) 查询:根据学号查询该学生的所有信息; c) 统计:可以选择统计各学生的平均成绩或统计所有存在不及格科目的学生。
10
提示:可以将该模块分解成更小的几个子模块来实现。每个子模块通过定义不同的函数 来完成其功能。
2)4 中打印月历靠左边打印
3)5 中打印水仙花为 4 个字符
三、详细设计
函
数
的
调
用
关
系
图
主函数 main()
主菜单()
f1( 字 母 数 字转换)()