C语言课程设计报告(参考)_c课程设计报告参考
C语言课程设计报告(参考)由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“c课程设计报告参考”。
C语言课程设计报告
专 业:网络工程 学 号:11102101 姓 名:步乾豪 提交日期:2012-6-21
C语言课程设计报告
【设计目的】 1.教学目的本课程设计是学生学习完《C语言程序设计》课程后,进行的一次全面的综合训练,通过课程设计,更好地掌握使用C语言进行程序设计的方法,加深对C语言特点和使用C语言进行程序设计开发过程的理解,加强动手能力。其主要目的是:
(1)进一步培养学生结构化程序设计的思想,加深对高级语言基本语言要素和控制结构的理解;
(2)针对C语言中的重点和难点内容进行训练,独立完成有一定工作量的程序设计任务,同时强调好的程序设计风格。
(3)掌握C语言的编程技巧和上机调试程序的方法。(4)掌握程序设计的常用算法。2.教学要求
(1)要求从所给题目中任选若干个,每个学生必须独立完成课程设计,不能互相抄袭。(2)设计完成后,对所完成的工作进行答辩。(3)要求写出一份详细的课程设计报告。
(4)程序设计题目,须提交相应的程序,并需提供加注释的源程序,能正常运行。……………………………………..【设计内容】
学生信息管理系统 程序说明:
本程序属于非数值计算型算法设计,学生需要设计出学生管理系统所需要的基本功能,并设计简单的界面(无需图形化)。本程序主要考察对自定义函数的熟悉程度,本程序中主要使用到的是数组(链表)的相关操作,包括数组(链表)的输入、输出、查找、插入、删除等操作,需要对数组(链表)有比较深入的掌握。
设计要求:
(1)通过提示菜单选择可以进行的操作。
(2)将学生的信息存入文件中,并命名为StudentInfo.txt。(3)在本系统中可以进行管理系统包含的基本操作,其中包括
a)查看所有学生的信息
b)输入一个学生的学号,从当前学生中进行查找,如果找到则显示该学生的相关信息,如果没有找到则给出提示信息
c)添加一个学生的基本信息,通过输入学号,首先查找是否存在该学号的学生,如果存在则提示重新输入,否则将该学生按照顺序插入到相应位置
d)删除一个学生的基本信息,通过输入学号,首先查找是否存在该学号的学生,如果存在则将该学生删除,否则给出提示信息,提示该学生不存在(4)学生基本信息包括学号、姓名、性别和专业这些简单信息
C语言课程设计报告
(5)学生信息文件中每一行存放一个学生的信息 ………………………………….【实验环境】 1.硬件环境
开发硬件:Thinkpad E520计算机
因特尔酷睿I5处理器,8GB运存,1GB独立显卡,500G硬盘存储,2.软件环境
开发环境:Windows 7旗舰版操作系统
开发软件:Microsoft Visual 6.0 C++软件
【设计中使用函数说明】
定义并使用的文件: void scanproduct()
【测试结果】
1)创建链表、插入新信息、删除信息、显示信息、修改信息。
2)测试数据
【设计总结】
一.对该设计题目有何更完善的方案
1、对自己完成程序进行自我评价
完成了课程设计的基本要求,同时在此基础上进行了一些创新,使用了多文件,使程序看起来更清晰更有条理。但由于能力有限,以及对C++的认识不深,其中还有不够完善合理的地方。
2、对课题提出更完善的方案
增加按照成绩对链表进行排序的功能,使学生信息能够按照成绩的高低进行显示,能够更清晰地显示学生的学习情况。二.收获及心得体会
1、通过本次课程设计,自己在哪些方面的能力有所提高
加深了对利用C++语言进行程序设计的理解,提高了对函数的运用能力,提高了软件系统分析能力和使用多文件、归纳总结的能力。
2、收获和心得体会
通过自己对单项链表的学习,熟悉了链表的建立、插入、删除等操作方法。通过这次课程设计使我明白了自学的重要性,有了一些自学的学习方法和技巧,并且要积极的与其他同学共同讨论,在讨论中才能找到自己认识的不足,改正自己的错误。【参考文献】 书籍:
1.《C语言程序设计第四版(谭浩强)》 2.《C语言程序设计课程上机指导》 3.《C语言程序设计第三版》
C语言课程设计报告
网站推荐:
http://www.daodoc.com/(TC所有函数功能及使用查询)http://www.daodoc.com/(编程爱好者:里面有各种编程资料)
【源程序清单】系统设计与分析
2.1.1第一模块界面及实现代码 其对应的函数如下: int main(){
int i;wenbenload();do { system(“cls”);printf(“nnnnnn”);printf(“***************************欢迎使用商品订购系统*******************************n”);printf(“ 作者: 网络11102101 步乾豪n”);
printf(“ ┏━━━━━━━━━━━━━━━━━━━┓n”);printf(“ ┃ 1.浏览商品信息 ┃n”);printf(“ ┃ 2.订购商品 ┃n”);printf(“ ┃ 3.订单查询 ┃n”);printf(“ ┃ 4.搜索商品 ┃n”);printf(“ ┃ 5.管理菜单 ┃n”);printf(“ ┃ 0.退出系统 ┃n”);printf(“ ┗━━━━━━━━━━━━━━━━━━━┛n”);printf(“********************************************************************************n”);
printf(“nntt请输入你的操作(0~5): ”);
scanf(“%d”,&i);switch(i){ case 1: system(“cls”);scanproduct();3
C语言课程设计报告
n“);
break;case 2:
system(”cls“);dinggou();break;
case 3: system(”cls“);
lookdinggou();break;searchproduct();break;case 4: case 5: secondmain();break;
case 0: //退出系统的界面
system(”cls“);printf(”nnnnnnnn“);printf(”nnttt欢迎使用本系统nnnnnttt欢迎再次使用
exit(0);//exit用于随时结束程序
}while(1);return 0;
} } 其中的wenbenload()用于从文本中导入商品信息
2.1.2 第二模块的界面及实现代码
如果选择的操作是主界面的1时,而产品文件为建立时会显示下图:
图2.3第二模块界面图
该程序的实现是通过以下代码实现的: void scanproduct(){
int i;system(“cls”);printf(“ttttt商品信息列表n”);for(i = 0;i
C语言课程设计报告
} {
} printf(“nnnnnnttt”);printf(“返回主菜单n”);printf(“ttt”);system(“pause”);return;printf(“名称 : %sn”,a[i].name);printf(“货号 : %dn”,a[i].number);printf(“厂家 : %sn”,a[i].vender);printf(“产地 : %sn”,a[i].filed);printf(“存量 : %dn”,a[i].stock);printf(“单价 : %.2lfnnn”,a[i].unvalent);2.1.3 第三模块的实现及代码 该程序实现代码如下: void dinggou(){ char ch;int i, j, t, c = 1;int n = 1;int m = 0;
do {
switch(n){ case 1: system(“cls”);
printf(“tttt商品信息列表n”);//显示商品的名称、货号信息,以便于订购 printf(“名称t 货号t 库存n”);for(i = 0;i
printf(“%st %dt %dnnn”,a[i].name,a[i].number,a[i].stock);
C语言课程设计报告
} printf(“nnn”);printf(“tttt商品订单n”);printf(“nttt请输入你的第%d个订单信息:n”,m + 1);
printf(“nttt货号:”);
fflush(stdin);
scanf(“%d”,&b[ibuy].bgname);
//检测是否含有此商品
j = 1;
for(i = 0;i
{
if(a[i].number == b[ibuy].bgname)
{
j = 0;
t = i;
}
}
//若有商品继续购买项目
if(j == 0)
{
printf(“nttt订购量:”);
fflush(stdin);
scanf(“%d”,&b[ibuy].bmany);
if(a[t].stock >= b[ibuy].bmany){
a[t].stock = a[t].stock-b[ibuy].bmany;//买后商品的库存计算
printf(“nttt日期时间:”);
fflush(stdin);
scanf(“%d”,&b[ibuy].btime);
printf(“nttt客户名:”);
fflush(stdin);
gets(b[ibuy].bname);
printf(“nttt客户地址:”);
fflush(stdin);
gets(b[ibuy].baddre);
printf(“nttt客户号:”);
b[ibuy].bnumber = bgnumber;
printf(“%dn”,b[ibuy].bnumber);
bgnumber++;
ibuy++;
m++;6
顾客购C语言课程设计报告
printf(“nnntttt”);
system(“pause”);} else { printf(“nnttt订购数目超出库存n”);
printf(“ttt”);
system(“pause”);
} } //若没有商品的提示及操作
else {
printf(“nnttt查无此货n”);
printf(“ttt”);
system(“pause”);}
case 2: printf(“是否继续输入订购?(Y/N)”);fflush(stdin);scanf(“%c”,&ch);if(ch == 'N' || ch == 'n'){
c = 0;
break;} else if(ch == 'Y' || ch == 'y'){
c = 0;
n = 1;
break;} else if(ch!= 'n' || ch!= 'N' || ch!= 'Y' || ch!= 'y'){
n = 0;
c = 1;
break;} case 0:
C语言课程设计报告
} if(c == 1){ } n = 2;
}while(ch!= 'n' && ch!= 'N');system(“cls”);
return;} 2.1.4 第四模块的实现及代码 该程序实现代码如下: void lookdinggou(){ int i;system(“cls”);printf(“ttttt订单列表n”);for(i = 0;i
printf(“货号 : %dn”,b[i].bgname);printf(“订购量 : %dn”,b[i].bmany);printf(“日期时间 : %dn”,b[i].btime);printf(“客户名 : %sn”,b[i].bname);printf(“客户地址 : %sn”,b[i].baddre);printf(“客户号 : %dnnn”,b[i].bnumber);
} printf(“nnnnnnttt”);printf(“返回主菜单n”);printf(“ttt”);system(“pause”);return;} 该代码中用到了指针,并用到了链表的建立和删除,当然也涉及到了结构体。2.1.5 第五模块的实现及代码 通过以下代码实现: void searchproduct(){
int i;int j;char ch;int n = 1;do
C语言课程设计报告
{
switch(n){ case 1: system(“cls”);
printf(“tttt商品列表n”);//显示商品的名称、货号信息,以便于下部的删除 for(i = 0;i
} //商品的搜索
printf(“nnntttt请输入你要搜索商品的ID:”);scanf(“%d”,&j);if(0
{ printf(“名称 : %sn”,a[j].name);printf(“货号 : %dn”,a[j].number);printf(“厂家 : %sn”,a[j].vender);printf(“产地 : %sn”,a[j].filed);printf(“存量 : %dn”,a[j].stock);printf(“单价 : %.2lfnnn”,a[j].unvalent);}
case 2:
} printf(“是否继续搜索商品?(Y/N)”);fflush(stdin);scanf(“%c”,&ch);if(ch == 'N'|| ch == 'n'){ } if(ch ==' Y'|| ch == 'y'){
} n = 1;break;break;9
C语言课程设计报告
} }while(ch!= 'n' && ch!= 'N');
printf(“nnnnnnttt”);printf(“返回主菜单!n”);printf(“ttt”);system(“pause”);return;2.1.6 第六模块的实现及代码 该代码如下: void secondmain(){
int i;
do {
system(“cls”);printf(“nnnnnnn”);
管
理
维
护
子
菜
单printf(“******************************************************************nn”);n“);n”);n“);n”);n“);
printf(” ┏━━━━━━━━━━━━━━━━━━━┓printf(“ ┃ 1.输入全部商品 ┃printf(” ┃ 2.增加商品 ┃printf(“ ┃ 3.删除商品 ┃printf(” ┃ 4.储存商品 ┃printf(“ ┃ 5.储存订单 ┃
C语言课程设计报告
n”);n“);printf(” ┗━━━━━━━━━━━━━━━━━━━┛printf(“ ┃ 0.返回上一级 ┃nnn”);printf(“********************************************************************************nnnnn”);
printf(“nntt请输入你所要选择的功能(0~5): ”);
scanf(“%d”,&i);
switch(i){
case 1:
system(“cls”);jianpanload();break;
case 2:
system(“cls”);addproduct();break;case 3:
system(“cls”);deleteproduct();break;
case 4:
system(“cls”);
C语言课程设计报告
saveproduct();break;case 5:
system(“cls”);savedinggou();break;
} case 0:
system(“cls”);
return;
}while(1);
printf(“tttt”);system(“pause”);system(“cls”);return;}该代码用于商品信息文件的建立生成,存储商品信息和订单。
2.2 软件的数据(结构)设计
先定义全局变量用于控制商品数量和订单数量如下: #include #include #include #include #include
int bgnumber = 023;//客户号
int inumber = 0;//商品量的统计 int ibuy = 0;//订单的统计
C语言课程设计报告
void secondmain();
//管理维护子菜单 void jianpanload();//输入商品 void scanproduct();//浏览商品 void searchproduct();//搜索商品 void dinggou();//订购商品 void lookdinggou();//查询订单 void addproduct();//增加商品 void deleteproduct();//删除商品 void saveproduct();//保存商品 void savedinggou();//保存订单 void wenbenload();//从文本导入商品
struct product {
char name[30];int number;char vender[30];char filed[100];int stock;
double unvalent;
//商品名 //货号 //厂家 //产地 //存量 //单价
};struct product a[100];
struct dinggou {
int bgname;//货号 int bmany;
int btime;
char bname[100];
//订购量 //日期时间 //客户名
char baddre[100];//客户地址 int bnumber;//客户号
};struct dinggou b[100];
C语言课程设计报告班级:10电子本1学号:10303033122姓名:指导老师:方文森完成日期:温州大学城市学院课程设计目 录1、课程设计目的和要求 .......................................
目录 1前言 ..............................................................1 2正文 ..............................................................1 2.1设计目的 .........
C语言课程设计报告--学生成绩管理系 C语言课程设计报告: 学生成绩管理系统 系统需求一、当前学生信息:通过结构体struct student 来保存学生的姓名,学号,性别,语文,数学,英语和计......
C语言课程设计报告1.实验题目:职员信息管理系统2.数据结构:整型int,字符型char,长整型long,结构体及结构体数组 3.源代码 :#include"stdio.h" #include"string.h" #define......
C语言课程设计报告Experiment Designing reporter课程名称 : C语言课程设计 英文名称 : C Program Experiment Designing 专 业 : 学 号 : 姓 名 :指导教师 :日 期: 2011年7月18......
