注意:因为学习平台题目是随机,选择题选项也是随机,一定注意答案对应的选项,同学们在本页按“Ctrl+F”快捷搜索题目中“关键字”就可以快速定位题目,还是不懂的话可以看这个:快速答题技巧
作业说明:
1.做作业之前首先在封面填上自己的学号和姓名,做完作业后请写上作业完成时间。
2.学习完第五单元后必须完成本次作业,并请在规定时间内通过学习平台提交Word文档形式的电子作业,本次作业占形成性考核总成绩的30%。
作业内容:
用一个C语言程序实现如下功能:
1、程序运行时第一行打印输出你的学号与姓名;
2、根据“学生信息管理系统”程序(详见本课程学习视频与课件),编写一个“候选人选票统计系统”的程序,要求综合运用结构体、函数和前面所学的循环结构、输入输出、选择结构等知识技能;
3、候选人选票统计系统能够进行多名候选人简单信息的录入,选票数的录入,能够根据候选人姓名或者编号查询输出选票情况。
作业要求:
(1)程序的主要设计思路,以文字或图表的形式描述比如候选人信息包括哪些,选票如何存储等程序设计细节;
(2)程序的源代码以及对源代码必要的行注释;
(3)请把程序运行结果截图贴在本次作业中;
(4)以上内容请在本文档中完成,并将本文档提交至学习平台,作为本课程第三次作业。
作业回答区:
#include "stdafx.h"
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
struct candidate /*定义存储候选人相关信息的结构体*/
{
char name[20];
int no,vote;
};
void menu() /*界面显示模块*/
{
printf(" 姓名:XXX 学号:XXX\n");
printf("============================================\n");
printf(" 欢迎进入候选人选票查询系统\n");
printf("\t1.候选人信息录入\n");
printf("\t2.查看所有候选人信息\n");
printf("\t3.按姓名查询\n");
printf("\t4.按编号查询\n");
printf("\t5.退出系统\n");
printf("============================================\n");
}
int inputs(struct candidate c[200]) /*候选人信息录入模块*/
{
int i,n;
printf("请输入候选人人数:\n");
scanf("%d",&n);
for(i=0;i<n;i++) /*分别输入候选人信息*/
{
printf("请输入第%d位选手的信息:姓名编号选票数\n",i+1);
scanf("%s%d%d",c[i].name,&c[i].no,&c[i].vote);
}
return n; /*总人数返回*/
}
void outputs(struct candidate c[],int n) /*候选人信息输出模块*/
{
int i;
for(i=0;i<n;i++)
printf("%s,%-4d%-4d\n",c[i].name,c[i].no,c[i].vote);
}
void searchbyno(struct candidate c[],int n) /*按编号查询*/
{
int i,no;
printf("请输入待查候选人编号:\n");
scanf("%d",&no);
for(i=0;i<n;i++)
{
if(c[i].no==no)
{
printf("%s,%d,%d\n",c[i].name,c[i].no,c[i].vote);
break;
}
}
if(i==n) printf("查无此人!\n");
}
void searchbyname(struct candidate c[],int n) /*按姓名查询*/
{
int i,t=1; /*t用作匹配输入的姓名字符串和结构体数组中已录入的候选人姓名字符串比较结果的中间变量*/
char name[20];
printf("请输入待查候选人姓名:\n");
scanf("%s",name);
for(i=0;i<n;i++)
{
t=strcmp(name,c[i].name);
if(t==0)
{printf("%s,%d,%d\n",c[i].name,c[i].no,c[i].vote);
break;
}}
if(t!=0) printf("查无此人!\n");
}
void select(struct candidate c[]) /*菜单选择模块*/
{
int num,n;
while(1)
{
printf("请选择:\n");
scanf("%d",&num);
switch(num)
{
case1:n=inputs(c);
break;
case2:outputs(c,n);
break;
case3:searchbyname(c,n);
break;
case4:searchbyno(c,n);
break;
case5:printf("已退出系统!\n ");
break;
}
if(num==5)break;
menu();
}
}
void main()
{
struct candidate c[100];
menu();
select(c);
}
填上学号姓名,自行运行代码,截图。
未经授权,禁止转载,发布者:形考达人,出处:https://www.xingkaowang.com/23094.html
本站不对内容的完整性、权威性及其观点立场正确性做任何保证或承诺!内容仅供研究参考,付费前请自行鉴别。
免费答案:形考作业所有题目均出自课程讲义中,可自行学习寻找题目答案,预祝大家上岸成功