C语言的班级考勤系统

Python021

C语言的班级考勤系统,第1张

/*学生考勤结构体*/

typedef struct{

int no//学号

char cl[8]//班级

char name[8]//姓名

char sex[3]//性别

char date[13]//日期

int flag//出勤情况

int num//出勤次数

int scr//出勤分数

}stu

/*函数声明*/

int menu()//主目录

void cnum()

Print()

/*定义全局变量*/

stu cla[51]//只设定1个班,按需要自己设定数组大小

/*主函数*/

main()

{

int flag=1

while(flag)

{

switch(menu)

case 1:

cnum()

case 2:

Print()

case 0:

flag=0

}

printf("欢迎下次使用")

getch()

}

int menu() //制作欢迎菜单

{

int n

printf(" 欢迎登陆考勤系统\n")

printf("1、点名(记录学生出勤情况)\n")

printf("2、查看出勤结果(查看学生出勤得分)\n")

printf("0、退出\n")

printf("请选择:")

scanf("%d",&n)

return n

}

cnum()

{

int flag=1//标记

int i=1

int cl

printf("请输入上课班级编号:")

scanf("cl")

while(flag)

{

printf("\n开始点名!")

printf("\n请输入来到的同学学号(以0号结束):")//为了方便计算学号跟数组下标一致,零号空去

scanf("%d",&flag)

if(flag!=0)

{

cla[i].no=flag

cla[i].cl=cl

·

·

·//输入数据在此省略

printf("输入该同学有没有到(0代表没有到,1代表到):")

scanf("%d",&flag)

·

·

·

}

}

}

Print()

{

//打印所有str里面的信息

}

大概思路是这样,自己看这要求修改吧!因为我都不清楚你的要求

#include "stdio.h"

#include "string.h"

int main()

{

char name[50][8]

int grade[20][4]

int zm=0

int ze=0

int zc=0

int zz=0

int n

int i

printf("Please input the nummber of students:")

scanf("%d",&n)

for(i=0i<ni++)

{

printf("Please input the %dth student's name:",i+1)

scanf("%s",&name[i])

printf("Please input the %dth student's Math score:")

scanf("%d",&grade[i][0])

printf("Please input the %dth student's English score:")

scanf("%d",&grade[i][1])

printf("Please input the %dth student's Computer score:")

scanf("%d",&grade[i][2])

grade[i][3]=grade[i][0]+grade[i][1]+grade[i][2]

}

printf("NameMathEnlish Computer total\n")

for(i=0i<ni++)

printf("%s\t%d\t%d\t%d\t %d\t\n",name[i],grade[i][0],grade[i][1],grade[i][2],grade[i][3])

return 0

}

1、

#include <stdio.h>

int solve(int n)

{

int cnt = 1

while (n /= 10)

{

++cnt

}

return cnt

}

int main()

{

int n

scanf("%d", &n)

printf("%d\n", solve(n))

return 0

}

2、

#include <stdio.h>

#include <string.h>

char names[8][100] = {"bob", "alex", "allen", "joker", "jack", "jacky", "robbot", "sheldon"}

int main()

{

char name[100]

scanf("%s", name)

for (int i=0i!=8++i)

{

if (strcmp(names[i], name) == 0)

{

if (i == 0)

{

printf("前面没有人, 后面是%s\n", names[i + 1])

}

else if (i == 7)

{

printf("后面没有人, 前面是%s\n", names[i - 1])

}

else

{

printf("前面是%s, 后面是%s\n", names[i - 1], names[i + 1])

}

}

}

return 0

}

3、

#include <stdio.h>

#include <math.h>

typedef struct

{

double a

double b

}complex

complex add(complex c1, complex c2)

{

complex ret

ret.a = c1.a + c2.a

ret.b = c1.b + c2.b

return ret

}

double mod(complex c)

{

return sqrt(c.a * c.a + c.b * c.b)

}

int main()

{

//test

complex c1

c1.a = 3

c1.b = 4

printf("%lf\n", mod(c1))

return 0

}

4、

#include <stdio.h>

double fibs(int n)

{

if (n == 1 || n == 2)

{

return 1.0

}

return 2 * fibs(n - 1) + 3 * fibs(n - 2)

}

int main()

{

int n

scanf("%d", &n)

printf("%lf\n", fibs(n))

return 0

}

6、

这个题你先告诉我是高精度问题么?

1000的阶乘答案非常的巨大,如果是高精度问题再给你做