首页 > 其他分享 >c语言 选票系统 函数封装

c语言 选票系统 函数封装

时间:2024-10-21 14:45:32浏览次数:3  
标签:tickets arr 封装 struct xm int 选票 include 函数

#include<stdio.h>
#include<string.h>
int feipiao=0;
struct xm
{
	char name[32];
	int tickets;
};

//选民人员输入
void xuanmin(int len,struct xm arr[])
{
	int i;
	for(i=0;i<len;i++)
	{
		printf("请输入选民的名字:\n");
		scanf("%s",arr[i].name);
	}
	
}
//投票环节 
void toupiao(int len,struct xm arr[])
{
	int toupiao;
	int j;
	int mark;
	printf("请输入投票人数:\n");
	scanf("%d",&toupiao);
	for(int t;t<len;t++)
	{
		arr[t].tickets=0;
	}
	for(j=0;j<toupiao;j++)
	{
		char p[32];
		printf("请问你想投给谁:\n");
		memset(p,'\0',sizeof(p));
		scanf("%s",p);
		for(int i=0;i<len;i++){
		mark=0;
		if(strcmp(p,arr[i].name)==0)
		{
			arr[i].tickets++;
			mark++;
			break;
			
		}
		}
		if(mark==0)
		{
			printf("您输入的名字不在选民行列\n");
			feipiao++;
		}
		else{
			printf("恭喜你,选票成功\n");
		}
		
	}
	
}
//公布结果
void jieguo(int len,struct xm arr[])
{
	int i;
	for(i=0;i<len;i++)
	{
	printf("%s选民的票数为%d\n",arr[i].name,arr[i].tickets);
	}
	printf("废票为%d\n",feipiao);
}
//求取获胜选民
void Max(int len,struct xm arr[])
{
	struct xm max;
	max=arr[0];
	if(arr[0].tickets=arr[1].tickets=arr[2].tickets)
	{
		printf("需要重新选票\n");
	}
	else{
	for(int i;i<len;i++)
	{
		if(max.tickets<arr[i].tickets)
		{
			max.tickets=arr[i].tickets;
		}
	}
	
	printf("取得获胜的是%s,他的得票数是%d\n",max.name,max.tickets);
	}
}
//主函数
int main()
{
	struct xm arr[3];
	int len=sizeof(arr)/sizeof(arr[0]);
	xuanmin(len,arr);
	toupiao(len,arr);
	jieguo(len,arr);
	Max(len,arr);
	return 0;
}

标签:tickets,arr,封装,struct,xm,int,选票,include,函数
From: https://blog.csdn.net/m0_65107465/article/details/143112454

相关文章

  • C++静态成员变量和静态成员函数的使用
    1.静态成员变量:定义在类中的静态成员,以static关键字初始化和成员变量区别:a.可以通过类名::变量名进行调用,可访问性还是由(public,private,protected)进行限制 例如下面的mystaitcClass::_id,protected属性内容无法直接进行访问,若要直接访问需要修改为public2.静态成员函数:类似可以通过......
  • mysql窗口函数
    窗口函数SUM()统计SELECT *, SUM(duration)OVER()ASexp1, ##统计全部数据合计值 SUM(duration)OVER(PARTITIONBYuser_name)ASexp2, ##分组求和,不同数据相同分组会展示相同的累积值 SUM(duration)OVER(ORDERBY`date`ASC)ASexp3, ##全部数据累积和,......
  • 云函数+对象存储全包!MemFire Cloud让开发如此轻松
    在开发世界里,想要快速交付一个产品,后端服务、数据存储和API接口等往往是让开发者最头疼的环节。尤其是对于个人开发者或者小型团队而言,想要自己搭建完整的后端架构,无疑是一项费时费力的工作。现在有了MemFireCloud,这一切都变得简单了。MemFireCloud是一款为“懒人”开发者......
  • [oeasy]python037_ print函数参数_sep分隔符_separator
    print函数参数_sep分隔符_separator回忆上次内容上次了解了类型type本意来自于印记   添加图片注释,不超过140字(可选) 要特别注意type类型   添加图片注释,不超过140字(可选) 给函数传递参......
  • 【Java SE 】封装 的特性 和 static 详解
     ......
  • 10.18Python基础迭代器生成器_函数式编程
    Python迭代器与生成器1.迭代器Iterator什么是迭代器迭代器是访问集合元素的一种方式。迭代器是一个可以记住遍历的位置的对象。迭代器可以重复使用,而不会像列表那样在迭代时被修改。迭代器函数iter和next函数说明iter(iterable)从可迭代对象中返回一个迭代器,iterabl......
  • 函数、递归和递推
    函数数组可以作为形式参数使用,数组作形式参数的时候真正的形式参数不是数组而是一个可以当作数组使用的变量,数组形式参数里包含的存储区都不是被调用函数提供的,声明数组形式参数的时候可以省略其中包含的存储区个数(写或不写没任何区别)。数组形式参数需要配合一个整数类型的形式......
  • 重载运算符、析构函数
    重载运算符、析构函数1.重载运算符2个对象进行==比较,重载==运算符说白了,就是,写一个成员函数,这个成员函数名"operator==",这个成员函数体里边写一些比较逻辑//定义Time&operator=(constTime&tmpobj)//实现Time&Time::operator=(constTime&tmpobj){cout......
  • 字符函数和字符串函数
    字符函数:字符函数的头文件是ctype.hislower是用来判断参数部分的c是否为小写字母intislower(intc);通过函数值来说明是否是小写字母,如果是小写字母就返回非零的整数,如果不是小写字母,则返回0;练习:写一个代码,判断这个字符串是否有小写字母,如果有将小写字母,转变成大写字母......
  • DES加密,哪位大神能看看我的key_round函数为啥生成的子密钥不对啊/(ㄒoㄒ)/~~球球了
    #include<stdio.h>voidIPchange(intpt[],intIP[]){  for(inti=0;i<64;++i)  {    pt[i]=pt[IP[i]-1];  }}voidIP_1change(intct[],intIP_1[]){  for(inti=0;i<64;i++)  {    ct[i]=ct[IP_1[i]......