1. 程式人生 > 程式設計 >C語言實現投票系統

C語言實現投票系統

本文例項為大家分享了C語言實現投票系統的具體程式碼,供大家參考,具體內容如下

問題:

某個班級有3個候選人,有6個同學參與投票,而且只能投一個人,要求編寫統計選票的程式。先輸入候選人名字,再輸入同學所投的候選人名字,最後根據每位候選人的得票數排序

思路:

先定義一個學生結構體 stduent,結構體中包含姓名,票數。
同時宣告結構陣列stu[N - 1],裡面存放候選人資訊
輸入候選人的姓名,開始投票。如果輸入的字串和候選人的姓名一樣,就累加。
之後,用氣泡排序。最後輸出排完序票數。

個人感覺我做的這個,很簡陋。只是完成了基本的功能

// vote.c --投票系統,用結構體實現
#include <stdio.h>
#include <string.h>
#define N 3    // 候選人
#define M 6    // 學生
struct stduent{ // 宣告學生結構體
  char name[20]; // 姓名
  int num;  // 票數
} stu[N - 1];

int main(void)
{
  int i,j;
  char temp[10];

  for (i = 0; i < N; i++)
  {
    printf("請輸入第%d個候選人姓名:",i + 1);
    scanf("%s",stu[i].name);
  }
  
  for (i = 0; i < M; i++)
  {
    printf("請第%d個學生輸入投票結果:",i+1);
    scanf("%s",temp);

    for (j = 0; j < N; j++)
      if (strcmp(stu[j].name,temp) == 0)
      {
        stu[j].num++;
        break;
      }
  }

  // 氣泡排序
  // 建立中間結構變數
  struct stduent t;
  for (i = 1; i < N; i++)
    for (j = N - 1; j >= i; j--)
    {
      if (stu[j - 1].num < stu[j].num)
      {
        t = stu[j - 1];
        stu[j - 1] = stu[j];
        stu[j] = t;
      }
    }

  printf("\n投票排名:\n");
  for (i = 0; i < N; i++)
    printf("%s的票數是%d\n",stu[i].name,stu[i].num);

  return 0;
}

附圖:

C語言實現投票系統

更多學習資料請關注專題《管理系統開發》。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。