2024年秋江苏开放大学程序设计基础△第五单元形成性考核作业
本文围绕该课程资料进行整理,重点用于课程复习、知识点理解和答题思路参考。学习时建议先理解题目涉及的概念、章节知识点和答题逻辑,再结合个人学习情况进行归纳。
一、资料内容
注意:因为学习平台题目是随机,选择题选项也是随机,一定注意对应的选项,同学们在本页按“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 学号:XXXn");
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%-4dn",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,%dn",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,%dn",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);
}
填上学号姓名,自行运行代码,截图。
免责声明:本站不对内容的完整性、权威性及其观点立场正确性做任何保证或承诺!付费为资源整合费用,前请自行鉴别。
免费:形考作业所有题目均出自课程讲义中,可自行学习寻找题目,本站内容可作为临时参考工具,但不应完全依赖,建议仅作为辅助核对的工具,而非直接使用!
二、学习使用建议
建议将本文内容作为复习参考,重点关注题干关键词、知识点出处、答题层次和表达方式。对于简答题、论述题或案例题,可按照“概念说明—原因分析—结合材料—总结观点”的思路组织答案。
说明:本站内容仅供学习交流与知识理解使用,不提供代考、替学、代写等违规服务。如需课程知识点讲解、资料整理或答题思路辅导,可联系进行学习辅导。

文章评论