C语言基础练习-信息表制作
这里主要用了两个知识点,结构体的应用和动态创建数组的应用
1.先看看运行结果
当然,我这个程序输入的有点琐碎,看完这篇文章后你可以改进一下,
2.源代码部分
cpp
#include<iostream>
#include<malloc.h>
#include"002.h"
using namespace std;
int main()
{
int n;
cout << "请问要登记几人的信息:" << endl;
cin >> n;
malloc_int(n); //创建数组
malloc_Input(n); //输入数据
malloc_Output(n); //输出数据
return 0;
}
002.h
#pragma once
#include<iostream>
#include<malloc.h>
#include<iomanip>
using namespace std;
struct Item* p; //定义一个局部变量结构体指针
struct Item //定义一个结构体
{
char name[20];
char sex;
int num;
};
void malloc_int(int n) //动态分配一个结构体数组
{
p = (struct Item*)malloc(sizeof(struct Item) * n);
}
void malloc_Input(int n)
{
for (int i = 0; i < n; i++)
{
cout << "请输入第"<<i+1<<"个人的名字:" << endl;
cin >> p[i].name;
cout << "请输入第"<<i+1<<"个人的性别:" << endl;
cin >> p[i].sex;
cout << "请输入第"<<i+1<<"个人的学号:" << endl;
cin >> p[i].num;
}
}
void malloc_Output(int n)
{
cout << "本次登记的信息如下:请核对" << endl;
for (int j = 0; j < n; j++)
cout <<setw(3)<< j + 1 <<setw(10) << p[j].name << setw(3) << p[j].sex << setw(7)<< p[j].num << endl;
}
3.代码分析
- 首先构建写一个结构体,结构体包含姓名、性别、学号三种信息(你要是想添加还可以扩充)
- 用malloc函数进行动态构建一个数组
- 对数组元素进行输出
4.注意注意
- 这里我用了.h文件,注意引用
- 我用了setw=(3)进行输出控制,所以头文件要包含#include< iomanip>