zoukankan      html  css  js  c++  java
  • 结构指针应用例题

     1 /*修改学生成绩,结构指针作为函数参数*/
     2 #include <stdio.h>
     3 struct student
     4 {
     5     int num;
     6     char name[10];
     7     int computer, english, math;
     8     double average;
     9 };
    10 int update_score(struct student *p, int n, int num, int course, int score);
    11 int main(void)
    12 {
    13     int course, i, n, num, pos, score;
    14     struct student students[50];
    15 
    16     printf("Input n:");
    17     scanf("%d", &n);
    18     for (i = 0; i < n; i++)
    19     {
    20         printf("Input the info of No.%d:
    ", i + 1);
    21         printf("number:");
    22         scanf("%d", &students[i].num);
    23         printf("name:");
    24         scanf("%s", students[i].name);
    25         printf("math score:");
    26         scanf("%d", &students[i].math);
    27         printf("english score:");
    28         scanf("%d", &students[i].english);
    29         printf("computer score:");
    30         scanf("%d", &students[i].computer);
    31     }
    32 
    33     printf("Input the number of the students to be updated:");
    34     scanf("%d", &num);
    35     printf("Choice the course:1.math 2.english 3.computer:");
    36     scanf("%d", &course);
    37     printf("Input the new score:");
    38     scanf("%d", &score);
    39 
    40     pos = update_score(students, n, num, course, score);
    41 
    42     if (pos == -1)
    43     {
    44         printf("Not found!
    ");
    45     }
    46     else
    47     {
    48         printf("After update:
    ");
    49         printf("%d	%d	%d	%d
    ", students[pos].num, students[pos].math, students[pos].english, students[pos].computer);
    50     }
    51 
    52     return 0;
    53 }
    54 int update_score(struct student *p, int n, int num, int course, int score)
    55 {
    56     int i, pos;
    57     for (i = 0; i < n; i++, p++)
    58     {
    59         if (p->num == num)
    60         {
    61             break;
    62         }
    63     }
    64     if (i < n)
    65     {
    66         switch (course)
    67         {
    68         case 1:
    69             p->math = score;
    70             break;
    71         case 2:
    72             p->english = score;
    73             break;
    74         case 3:
    75             p->computer = score;
    76             break;
    77         }
    78         pos = i;
    79     }
    80     else
    81     {
    82         pos = -1;
    83     }
    84 
    85     return pos;
    86 }
  • 相关阅读:
    cocos2d-x lua 学习笔记(1) -- 环境搭建
    Cocos2d-x 3.x 如何编译成安卓程序
    Cocos2d-x 3.4 初体验——安装教程
    cocos2d-x 之 CCProgressTimer
    android sdk离线安装
    在cocos2d-x-3.0 android 平台编译时提示CocosGUI.h: No such file or directory
    cocos2d_x iconv转码
    cocos2d-x发生undefined reference to `XX'异常 一劳永逸解决办法
    libjpeg.a exists or that its path is correct
    UE4插件
  • 原文地址:https://www.cnblogs.com/2018jason/p/12204212.html
Copyright © 2011-2022 走看看