C语言课程设计

发布 2022-09-30 19:11:28 阅读 1978

c程序设计实习报告。

题目:c语言投票程序。

学院。专业:

姓名。班级学号。

指导教师。2010 年 07 月 17 日。

目录。一、课程设计题目描述与要求3

二、 需求与个人设计思想4

三、 流程图5

四、我的程序设计(源程序6

程序运**况8

五、 总结与修改9

关于程序实行9

问题及可能的解决方法9

修改后程序运**况12

修改后的程序优点13

心得与体会15

c语言投票程序。

一、课程设计题目描述与要求。

要求:设有代号为a、b、c的足球先生候选人,根据投票者在选票上对他们编号的填写顺序分别记分。请编程从键盘上输入投票人数及投票结果,统计他们的得分,并输出哪位当选足球先生。

注意:若同一张票上写有两个相同的代号,则显示“此票无效”,若最终前两名得分相同应显示“重新投票”,否则先是三个候选者得分并输出“祝贺x当选冠军!”。

例如:投票人数:5

输入投票内容:

a b cc a b

c a a 该票无效!

c b ab c a

三位候选人得分:

a: 12b: 13

c: 15祝贺c当选冠军!

提示:数据结构可用结构体数组,结构体成员包括代号、得分。或者采用二维数组,行方向对应一张投票,列方向。

二、需求与个人设计思想。

【需求】此程序意在评出得分最高的“足球先生”,要求编程从键盘上输入投票人数及投票结果,统计他们的得分,并输出哪位当选足球先生。

个人设计思想】

通过结构体数组struct candidate cadt[3]来存储三位候选人的基本信息:代号、得分。在用一个一维数组来存储投票内容——代表投票内容(顺序),通过循环语句while,for和一个没有参数的getchar函数(字符输入函数)从终端输入投票内容,处理后得到最终三位候选人得分,比较得到最终结果,评出得分最高的一名候选人,即为“足球先生”。

在过程中,当遇到一张选票上写有两个代号相同时应显示“此票无效”, 若最终前两名得分相同应显示“重新投票”, 否则先是三个候选者得分并输出“祝贺x当选冠军!”。

三、 流程图。

1、 整体流程图。

图7—12、主函数流程图:

图7—2四、我的程序设计(源程序)

#include<>

struct candidate //定义结构体。

char name; /名字。

int score; /分数。

struct candidate cadt[3]=,

void main()

int i,j,num;

char vote[3],s;

printf("请问共有多少人投票?");

scanf("%d",&num);

while(num--)

if(vote[0]+vote[1]+vote[2]!=a'+'b'+'c') 判断选票上是否有重复**。

elsefor(j=0;j<3;j++)

if(vote[0]==cadt[j].name)

cadt[j].score+=5;

if(vote[1]==cadt[j].name)

cadt[j].score+=3;

if(vote[2]==cadt[j].name)

cadt[j].score+=2;

printf("三位候选人得分:");

for(j=0;j<3;j++)

printf("%c: %d",cadt[j].name,cadt[j].score);

if(cadt[0].score==cadt[1].score||cadt[1].

score==cadt[2].score||cadt[2].score==cadt[0].

score)

printf("please vote againe.");

elseif(cadt[0].scorecadt[0].name=cadt[1].name;

if(cadt[0].scorecadt[0].name=cadt[2].name;

printf("祝贺%c当选冠军 .",cadt[0].name);

程序运**况如下:

1) 当遇到一张选票上写有两个代号相同时成功显示“该票无效”:

图7—32) 显示最终结果:

图7—4五、总结与修改。

暑假期间,通过八天的c语言程序设计实习,我重新温习了c语言,更是对c语言有了更新的认识,更为深层次的认识。以下几点是我在实习期间遇到的问题及心得体会。

关于程序实行】

程序运**况的截图如图7—3,7—4所示,图中显示有投票人数、投票的内容、候选人最后的得分情况以及最终冠军的获得者,系统运**况较好,但仍存在一些不足,例如:没有控制开始结束的语句,程序没有很好的体现模块化等。在以后的程序设计中要特别注意这次遇到的问题,改进不足,探索新颖的思路,力求将程序设计完美化。

问题及可能的解决方法】

程序中最大的不足是模块化没有很好的发挥其作用,个人觉得可以通过调用函数来弥补这一不足。至于开始结束语句地解决,可以增加一个输出语句来解决。还有一个问题是,源**中没有注释语句,虽然这次设计的程序比较简单没用到注释,但以后设计中一定要注意这方面。

修改后程序】

#include<>

#include <>

struct candidate//定义结构体。

char name;//名字。

int score;//选票得分。

struct candidate cadt[3]=,

void thanks()

printf("thank you!");

void football()

int i,j,num;

char vote[3],s;

printf("请问共有多少人投票?");

scanf("%d",&num);

while(num--)

if(vote[0]+vote[1]+vote[2]!=a'+'b'+'c')/判断选票是否有重复代号。

elsefor(j=0;j<3;j++)

if(vote[0]==cadt[j].name)

cadt[j].score+=5;

if(vote[1]==cadt[j].name)

cadt[j].score+=3;

if(vote[2]==cadt[j].name)

cadt[j].score+=2;

printf("三位候选人得分:");

for(j=0;j<3;j++)

printf("%c: %d",cadt[j].name,cadt[j].score);

if(cadt[0].score==cadt[1].score||cadt[1].

score==cadt[2].score||cadt[2].score==cadt[0].

score)

printf("please vote againe.");

C语言课程课程设计

课程设计报告。课程名称 c语言程序设计 系别 xxx 专业班级 xxx班 学号 xxxxxxxxxx 姓名 xxx 课程题目 10或100以内儿童加减乘除算术游戏。完成日期 2013.6.14 19 指导老师 xxx 2013年 6月 21日。附件 一 程序模块图。二 源程序。include inc...

C语言课程设计

目录。1 c语言程序课程设计教学大纲。2 c语言程序课程设计说明书。3 c语言程序课程设计报告 模板 4 c语言程序课程设计成绩评定表。xx xx学院。课程教学大纲。课程名称 c语言程序课程设计。适用专业 课程类别 专业基础课。制订时间 2010年11月 计算机科学与技术系制。c语言程序课程设计教学...

C语言课程设计

目录。1 c语言程序课程设计教学大纲。2 c语言程序课程设计说明书。3 c语言程序课程设计报告 模板 4 c语言程序课程设计成绩评定表。珠海学院。课程教学大纲。课程名称 c语言程序课程设计。适用专业 2010级计算机科学与技术系各专业。课程类别 专业基础课。制订时间 2010年11月 计算机科学与技...