编程C本: 帖子 13 – 结构类型 – 结构
访问结构类型的最简单的方法是学生的一个例子. 类 100 学生每个学生包括您的姓名和学生的代码. 输入数据类. 呵呵. 你想想如何使用 2 板: 1 数组名, 1 阵列学生正确的代码. 权, 这样,没有错......但让我们看看接下来的请求......氏学期结束, 请输入分数为每个学生, 包括每个学生 10 主题 (数学, 相信, 化学, 物理学,...). Giờ bạn thấy sao nào… Dùng 12 没有...哦阵列, hãy dùng 结构类型. 只需式结构 1 只有板.
1. 结构类型
对于数组, 可以节省大量的信息具有相同的数据类型. 但是,随着这种类型的结构,我们可以存储更多的信息,不同的数据类型.
1.1 VD开幕
//code by nguyenvanquan7826 #include <stdio.h> #include <stdlib.h> // khai bao struct struct sinhvien { char MSV[20]; // ma sinh vien char hoten[30]; // ho ten sinh vien double toan, tin, anh; // cac diem toan, tin, anh }; /* Hay thay tat ca fflush(stdin); thanh __fpurge(stdin) khi ban lam tren linux*/ int main() { /* khai bao 2 bien sv1, sv2 va 1 mang * CNPMK10A gom 100 sinh vien */ struct sinhvien sv1, sv2, CNPMK10A[100]; printf("Nhap du lieu cho sv1:\n"); printf("MSV: "); fflush(stdin); gets(sv1.MSV); printf("Ho ten: "); fflush(stdin); gets(sv1.hoten); printf("Diem toan, tin, anh: "); fflush(stdin); scanf("%lf %lf %lf", &sv1.toan, &sv1.tin, &sv1.anh); printf("Nhap du lieu cho sv2:\n"); printf("MSV: "); fflush(stdin); gets(sv2.MSV); printf("Ho ten: "); fflush(stdin); gets(sv2.hoten); printf("Diem toan, tin, anh: "); fflush(stdin); scanf("%lf %lf %lf", &sv2.toan, &sv2.tin, &sv2.anh); printf("\n --------- Thong tin sinh vien -----\n"); printf("%-20s %-30s %-7s %-7s %-7s\n", "MSV", "Ho ten", "Toan", "Tin", "Anh"); printf("%-20s %-30s %-7.2lf %-7.2lf %-7.2lf\n", sv1.MSV, sv1.hoten, sv1.toan, sv1.tin, sv1.anh); printf("%-20s %-30s %-7.2lf %-7.2lf %-7.2lf\n", sv2.MSV, sv2.hoten, sv2.toan, sv2.tin, sv2.anh); return 0; }
结果:
Nhap du lieu cho sv1: MSV: DTC1 Ho ten: Pham Thi Ha Diem toan, tin, anh: 9 9 8 Nhap du lieu cho sv2: MSV: DTC2 Ho ten: Nguyen Van Quan Diem toan, tin, anh: 9 9 8 --------- Thong tin sinh vien ----- MSV Ho ten Toan Tin Anh DTC1 Pham Thi Ha 9.00 9.00 8.00 DTC2 Nguyen Van Quan 9.00 9.00 8.00
在本实施例中的开始, chúng ta có rất nhiều điểu phải bàn 🙂
1.2 建筑结构类型, 声明变量结构
如上述的例子中, 打造 1 结构类型,我们遵循语法:
struct TenKieuCauTruc { Khai báo các thành phần của kiểu; };
经过结构的话,这是非常相似的风格类型 1 普通型 (INT, 浮动, 坦克,...) 我们只是声明另一个变量是成品. 然而,变量声明应该在前面struct关键字添加: (对于C 并不需要).
struct TenKieuCauTruc TenBienCauTruc;
另外我们也建立了某种结构和变量声明的结构如下:
struct TenKieuCauTruc { Khai báo các thành phần của kiểu; } danh sách các biến thuộc kiểu cấu trúc;
或
struct { Khai báo các thành phần của kiểu; } danh sách các biến thuộc kiểu cấu trúc ;
有了这个声明, 它是强制性的,尽快在该结构声明变量,因为这里在另一个位置没有声明结构类型名称来我们的结构.
在本节中,我们应该提到 1 重要的关键字, 就是说 的typedef. 此关键字用于定义 1 新的数据类型.
typedef struct sinhvien { char MSV[20]; // ma sinh vien char hoten[30]; // ho ten sinh vien double toan, tin, anh; // cac diem toan, tin, anh } kieuSinhVien;
当我们有这个 kieuSinhVien 是 1 数据类型 (作为INT, 双, ...) 我们可以通过它的结构变量声明. 在这里面,你需要注意的几件事:
- 同 sinhvien看此选手 (结构的类型被放置关键字struct后) 声明这种类型的结构体变量时,我们仍然有在它的前面. (首席执行官: sinhvien看此选手SVA; -> Sai còn struct sinhvien svA; -> đúng), (不需要在C 中的关注).
- 同 kieuSinhVIen 声明这个类型,我们的变量时 不具有该结构 在它的前面. (首席执行官: 结构kieuSinhVIen所有; -> sai, kieuSinhVIen所有; -> đúng).
此外,我们还可以键入声明嵌套结构: 例如,在 1 学生生日, 出生日期在天, 月, 出生年份.
struct ngaysinh { int ngay, thang, nam; } typedef struct sinhvien { char MSV[20]; // ma sinh vien char hoten[30]; // ho ten sinh vien double toan, tin, anh; // cac diem toan, tin, anh struct ngaysinh ns; } kieuSinhVien;
或者我们在结构中声明:
typedef struct sinhvien { char MSV[20]; // ma sinh vien char hoten[30]; // ho ten sinh vien double toan, tin, anh; // cac diem toan, tin, anh struct ngaysinh { int ngay, thang, nam; } ns; } kieuSinhVien;
1.3 获得该结构的组成部分
为获得该结构的组成部分,我们使用点 (.).
TenBienCauTruc.TenThanhPhan;
随着对下列访问一个例子:
sv1.hoten; sv1.toan; // 访问他们的名字, 数学成绩
sv1.ns.ngay; sv1.ns.thang; // 访问出生日期和月份出生.
...
一旦访问是对结构的组件,每个组件是 1 这是正常的变量赋值或输入值,以他们作为正常的,但我们还是做.
此外,如果某些元件冗长,我们可以使用关键字定义避免长的行.
例如,而不是书写:
sv1.ns.thang; sv1.ns.nam;
我们写:
#define p sv1.ns p.thang; p.nam;
1.4 分配变量具有相同类型的结构
//code by nguyenvanquan7826 #include <stdio.h> #include <stdlib.h> struct sinhvien { char MSV[20]; // ma sinh vien char hoten[30]; // ho ten sinh vien double toan, tin, anh; // cac diem toan, tin, anh }; /* Hay thay tat ca fflush(stdin); thanh __fpurge(stdin) khi ban lam tren linux*/ int main() { /* khai bao 2 bien sv1, sv2 va 1 mang * CNPMK10A gom 100 sinh vien */ struct sinhvien sv1, sv2, CNPMK10A[100]; printf("Nhap du lieu cho sv1:\n"); printf("MSV: "); fflush(stdin); gets(sv1.MSV); printf("Ho ten: "); fflush(stdin); gets(sv1.hoten); printf("Diem toan, tin, anh: "); fflush(stdin); scanf("%lf %lf %lf", &sv1.toan, &sv1.tin, &sv1.anh); sv2 = sv1; // gan gia tri cua sv1 cho sv2 printf("\n --------- Thong tin sinh vien -----\n"); printf("%-20s %-30s %-7s %-7s %-7s\n", "MSV", "Ho ten", "Toan", "Tin", "Anh"); printf("%-20s %-30s %-7.2lf %-7.2lf %-7.2lf\n", sv2.MSV, sv2.hoten, sv2.toan, sv2.tin, sv2.anh); return 0; }
分配SV2 = SV1后,SV2 SV1的全部信息都还. 此外,也可以分配为结构的初始值.
struct sinhvien sv1 = {"ABC", "Nguyen Van Quan", 9, 9, 8, {4, 5, 1992}};
那么我们有原始数据SV1:
MSV: ABC hoten: Nguyen Van Quan toan: 9 tin: 9 anh: 8 ngày sinh: 4/5/1992.
2. 该阵列结构
上面我们要学会结构类型的基础和结构的几个例子sinhvien看此选手. 现在我们学习如何执行 1 板 50 学生 1 阶级结构的上述类型. 考虑例子:
//code by nguyenvanquan7826 #include <stdio.h> #include <stdlib.h> struct sinhvien { char MSV[20]; // ma sinh vien char hoten[30]; // ho ten sinh vien double diemTB; // diem trung binh struct ngaysinh { int ngay, thang, nam; } ns; }; int main() { int n = 2, i; struct sinhvien CNPMK10A[n]; for (i = 0; i < n; i++) { #define sv CNPMK10A[i] printf("Nhap du lieu cho sinh vien thu %d:\n", i + 1); printf("MSV: "); fflush(stdin) gets(sv.MSV); printf("Ho ten: "); fflush(stdin); gets(sv.hoten); printf("Diem TB: "); fflush(stdin) scanf("%lf", &sv.diemTB); printf("Ngay sinh: "); scanf("%d/%d/%d", &sv.ns.ngay, &sv.ns.thang, &sv.ns.nam); } printf("\n --------- Thong tin sinh vien -----\n"); printf("%-20s %-30s %-7s %-10s\n", "MSV", "Ho ten", "Diem Tb", "Ngay sinh"); for (i = 0; i < n; i++) { #define sv CNPMK10A[i] printf("%-20s %-30s %-7.2lf %02d/%02d/%4d\n", sv.MSV, sv.hoten, sv.diemTB, sv.ns.ngay, sv.ns.thang, sv.ns.nam); } return 0; }
结果:
Nhap du lieu cho sinh vien thu 1: MSV: DTC1 Ho ten: Pham Thi Ha Diem TB: 9.2 Ngay sinh: 21/01/1993 Nhap du lieu cho sinh vien thu 2: MSV: DTC2 Ho ten: Nguyen Van Quan Diem TB: 9.2 Ngay sinh: 31/12/1992 --------- Thong tin sinh vien ----- MSV Ho ten Diem Tb Ngay sinh DTC1 Pham Thi Ha 9.20 21/01/1993 DTC2 Nguyen Van Quan 9.20 31/12/1992
3. 结构指针
//code by nguyenvanquan7826 #include <stdio.h> #include <stdlib.h> struct sinhvien { char MSV[20]; // ma sinh vien char hoten[30]; // ho ten sinh vien double diemTB; // diem trung binh struct ngaysinh { int ngay, thang, nam; } ns; }; int main() { int n = 2, i; // cap phat bo nho struct sinhvien *CNPMK10A = (struct sinhvien*) malloc(n * sizeof(struct sinhvien)); for (i = 0; i < n; i++) { printf("Nhap du lieu cho sinh vien thu %d:\n", i + 1); printf("MSV: "); fflush(stdin); gets(CNPMK10A[i].MSV); printf("Ho ten: "); fflush(stdin); gets(CNPMK10A[i].hoten); printf("Diem TB: "); fflush(stdin); scanf("%lf", &(CNPMK10A+i)->diemTB); printf("Ngay sinh: "); scanf("%d/%d/%d", &(CNPMK10A+i)->ns.ngay, &(CNPMK10A+i)->ns.thang, &(CNPMK10A+i)->ns.nam); } printf("\n --------- Thong tin sinh vien -----\n"); printf("%-20s %-30s %-7s %-10s\n", "MSV", "Ho ten", "Diem Tb", "Ngay sinh"); for (i = 0; i < n; i++) { #define ns CNPMK10A[i].ns printf("%-20s %-30s %-7.2lf %02d/%02d/%4d\n", CNPMK10A[i].MSV, (*(CNPMK10A+i)).hoten, (CNPMK10A+i)->diemTB, ns.ngay, ns.thang, ns.nam); } return 0; }
访问的结构部件
为了得到数据访问组件指针结构具有 3 以下:
- 如何 1: CNPMK10A[在].diemTB;
- 如何 2: (*(CNPMK10A 我)).diemTB;
- 如何 3: (CNPMK10A 我) ->diemTB;
两 3 方法将有机会获得DTB.
为了让我们的地址 2 从:
- 如何 1: &CNPMK10A[在].DTB;
- 如何 2: &(CNPMK10A 我)->diemTB
anh ơi cho em hỏi là ở đây khi mình cấp phát động để nhập vào dữ liệu cho sinh viên, khi kết thúc trương trình này không giải phóng bộ nhớ động đã cấp phát ra ạ?
Ukm đúng rồi, cái này mình quen thói quên mất, chứ đúng ra là cần phải thêm vào đó.
cảm ơn các bài của anh rất hữu ích cho sinh viên nhập môn như em ạ 😀
ngồi hóng anh làm giải phóng bộ nhớ cho bài 11++ ạ 😀
Giải phóng bộ nhớ bạn chỉ cần free các biến con trỏ sau khi dùng là xong.
是的. em biết cách giải phóng bộ nhớ cấp phát cái này rồi ạ 😀
A ơi cho e hỏi muốn thêm 1 sinh viên vào thì phải lsao ạ
Bên trên có rồi mà.
a cho em hỏi #define ns CNPMK10A[在].ns có ý nghĩa gì ạ?
Bạn xem lại bên trên nhé. 我说,这意味着把一个变量ns,以便缩短NPMK10A[在].NS
是的! 谢谢!
A Quân ơi cho em hỏi!!!
的printf(“Nhap du lieu cho sv1:\ñ”);
的printf(“MSV: “); fflush(标准输入);
得到(sv1.MSV);
的printf(“Ho ten: “); fflush(标准输入); //fflush(标准输入) 什么是爵士???
得到(sv1.hoten); //得到(sv1.hoten) 什么是爵士??nó có giống scanf(“%s” ,sv1.hoten);?
的printf(“Diem toan, 相信, 您: “); fflush(标准输入);
scanf函数(“%lf %lf %lf”, &sv1.toan, &sv1.tin, &sv1.anh); //%lf là gì ạ??
fflush và gets đọc mục 4 和 5 ở bài này nhé: https://cachhoc.net/2014/12/04/lap-trinh-c-bai-2-kieu-du-lieu-va-nhap-xuat-trong-c/#4_Nhap_chuoi_trong_C
lf là ký hiệu định dạng kiểu double.
thank anh trai !!!đã hiểu
让我问如何找到学生凭学生证名单上的信息,这个职位是X如果
有. 对于十二月出生的学生信息显示信息 3, 兄弟姐妹, 琢磨不出来 :((
推荐: 编写一个程序, 1 学生的n个列表. 每个学生 1
结构包括: 他们的名字, 性别, 发祥地, 出生日期 (是 1 结构由天,
几个月甚至几年), 多议席单票, 组码. 信息显示约同学进入
屏幕. 寻找学生凭学生证名单上的信息为X,如果
有. 对于十二月出生的学生信息显示信息 3
你比较名为X是该STRCMP函数字符串
我弟弟不明白这个地方 :”%-20S%-30s%-7s%-10s”. 小家伙 -20,-30 什么是驾驶?
保留的 20.30.7.10 室,用于显示的相应值被留下平坦负极标志
服务员, VD在分配 2 SV开启, 是否有必要分配每个变量是不是? 因为学校将载有特殊任务的strcpy的字符串(,)
不用在这里, SV1 SV2保持在= SV1 SV2所有值发送到了所有.
-20F现场%减号是爵士
蔡%20F是 20 为展示空间. 所以会出现在输出值的前面的空间. 同时因为我们需要. 如果减号,我们将立足它的果实.
他的文章基本的Java或不 . 孩子们到参考DC阁先生
新的儿童特别只基本的Java- 应该了解不多先生
的, 这是一个不写下来, 只 2 独自一人面向对象
https://www.cachhoc.net/category/lap-trinh/lap-trinh-huong-doi-tuong/
的printf(” %-20S%-30s%-10s%-7s n”,”MSV”,”威胁”,”ngaysinh”,”GPA”);
的printf(“%-20S%-30s%-7.2lf%02D / 02D%/%4D n”, sv.MSV, sv.hoten, sv.diemTB, sv.ns.ngay, sv.ns.thang, sv.ns.nam);
数字%-20s …. 他认为. 所以当我改回
的printf(“%-20S%-30s%-10s%-8S”,”多议席单票”,”HO TEN”,”NGAYSINH”,”DIEMTB”);
的printf(“%-20S%-30s%D /%D /%D%-8.2f”,恩[在].MSV,恩[在].HT,恩[在].ns.ngay,恩[在].ns.thang,恩[在].ns.nam,恩[在].结核病);
它打印出的结果与学生证漂移相比,,威胁,NGAYSINH,DIEMTB
%20s的专用 20 空间打印,但它会根据链看坏, %-20s因此将采用左对齐方式可以帮助你.
您 ,我怎么能汤的学生证,威胁,ngaysinh,diemtb, 和它们各自的显示的结果可以位于同一 1 职位 ( 不歪斜列)…. 在这篇文章中没有地方他打进-30s%-20s% %-10 %-7 v.v..the为什么我这么写. 这不是 %-30 %-30 %-30 他抡.
你的主题线的基础上一样的同一行其价值正在被. 而 20 有 30 然后由你来估计链的长度.
所以,当你估计 , 那么我想相比于利润率 (左) 或相比于前一序列
比如: %-20 然后 %-30 他近似 %-30 比 %-20 或 %-30 比保证金,他
事实并非如此, 例如,您估计的最大长名称 50 你使用的字符 %50 没有你.
所以 50 他印刷的字符,包括空格零备件 + 名( 如学生证,威胁) 是不是他
UKM…
的printf(“\输入n学生人数的 n”);
论坛 n前面和上面,不同的命令后,他
同. 也在下降,同时.
论坛 n前面是放线 : 输入学生人数上下行.CON签署 n背部撤下线旁声明他不应该
是的,你.
typedef结构sinhvien看此选手 {
焦炭MSV[20]; // 学生
焦炭hoten[30]; // 学生的姓名
双企图, 相信, 您; // 点TOAN, 相信, 您
} kieuSinhVien;
こに宣告了他的位子 :” sinhvien看此选手” 从而宣告伦 “kieuSinhvien” 不是他的DC. 我看到声明,结构类型 “sinhvien看此选手” 你在哪里使用 !
行, 所以也是你啊.
他nguyenvanquan我海:
我上面说有 3 如何得到结构指针的数据组件 :
如何 1: CNPMK10A[在].diemTB;
如何 2: (*(CNPMK10A 我)).diemTB;
如何 3: (CNPMK10A 我) ->diemTB;
我觉得很难理解的方式 1 参加所有的地址指针的指针鬼他写道::
PX : 获取地址,它保持 (点)
*PX : 得到它指向的内存的值.
他帮助我困惑花太多. 我感谢你.
如何混乱是相当, 这是它的原理.
宠儿。. thế em muốn tìm tên những sinh viên có điểm toán cao nhất thì làm như thế nào ạ 🙂
Thì so sánh mà tìm, bình thường mình so sánh a > b thì giờ so sánh A.x > B.x là được
C# có struct, vậy trong java có cái gì tương tự như struct k ( k tính đến class ở đây)
thực sự là mình chưa nắm vững về java nên mới hỏi câu này, có gì k phải mong b bỏ qua
Java không có struc bạn ah. Class có thể đảm nhiệm mọi thứ 😉
anh Quân ơi em có 1 thắc mắc nhỏ muốn anh làm sáng tỏ hộ em
这里是我的代码 :
/* 程序读入名单还没有结束 100 学生,其中约:Ho ten, 男孩
1, 在DS学生杜阿男孩 1990
2, DUA出DSSV按字母顺序排列 */
/* 不知道为什么,当我们换空格字符不能使用: temp.ho_ten字符=[在].ho_ten; LIST[在].ho_ten字符=[Ĵ].威胁; LIST[Ĵ]= temp.ho_ten; */
#包括
#包括
#包括
typedef结构sinh_vien
{
焦炭ho_ten[20];
INT南;
}EN;
主()
{
INTñ,在,Ĵ,牛逼;
SV LIST[100],温度;
的{
的printf(“输入尺寸轴承N (0<ñ<=100):");
scanf函数("%d",&ñ);
}而(N100);
的printf(“\输入n为每个学生的信息:\ñ”);
为(I = 0;在<ñ;我 )
{
的printf("\n NHap ten cua sinh vien thu %d: ",I 1);
fflush(标准输入); 得到(LIST[在].ho_ten);
的printf("\n nam sinh:");
scanf函数("%d",&LIST[在].男);
}
的printf("\ndanh sach sinh vien khi chua sap xep:");
的printf("\nstt Ho va ten nam sinh\n");
为(I = 0;在<ñ;我 ){
的printf("%-2d %-20s %-4d\n",I + 1,LIST[在].ho_ten,LIST[在].男);
}
的printf("\n danh sach cac sinh vien sinh nam 1990 该:\n");
为(I = 0;在<ñ;我 )
如果(LIST[在].男子== 1990) 的printf("%-20s\n",LIST[在].ho_ten);
为(I = 0;在<N-1;我 )
为(J = 1 + 1;J0) {TEMP = LIST[在]; LIST[在]字符=[Ĵ]; LIST[Ĵ]=气温;}
}
的printf(“后来,房源安排き:\ñ”);
的printf(“\全名男生nstt的 n”);
为(I = 0;在<ñ;我 )
的printf("%-2d %-20s %-4d\n",I + 1,LIST[在].ho_ten,LIST[在].男);
残培();
}
交换,你必须交换交换STRUC而为什么每个名字?
哦,给我一个问题: 我想传递参数给函数是指针,该结构是NTN? 谢谢!
例如,该结构是传达空隙的愿望(*在)
的printf(“%-20S%-30s%-7s%-7s%-7s n”, “MSV”, “Ho ten”, “努力”, “相信”, “英语”);
的printf(“%-20S%-30s%-7.2lf%-7.2lf%-7.2lf n”, sv1.MSV, sv1.hoten, sv1.toan, sv1.tin, sv1.anh);
的printf(“%-20S%-30s%-7.2lf%-7.2lf%-7.2lf n”, sv2.MSV, sv2.hoten, sv2.toan, sv2.tin, sv2.anh);
解释giùmËVS一
只是打印屏幕命令你孤单.
服务员, 让我问: 如何找到他的亚洲阵列结构的最大?…^^
您可以使用一个for循环,然后在你想要的领域相比,. 这一切
我问他是如何安排学生低了点
您进入 :
十个行乐
该 2
B 1
Ç 3
你做排序 2 号码, 只是,他的团队改变了 1 结构学生评论.
我问他是如何安排学生低了点
您进入 :
十个行乐
该 2
B 1
Ç 3
———
质量保证
十个行乐
该 3
B 2
Ç 1
重点是 ,但为什么根据地步亲爱的同学们将其命名为 !
救救我.
当变化必须更改结构学生使用.
为什么我要来分配SV2 = SV1啦 ?! E不真正了解这个地方
啊,那么我们分配A = B样肌腱那
Ë抱歉,但è还没有真正明白你的意思. 仅分配SV2 = SV1来传送信息或其它目的 ?!
广告向大家请教,我所提到的是 3 个人信息的访问来获取数据,你可以解释之间的差异.Vay帮助孩子 3 这样ķ ?(^-^)
其结果仍然是相同的. 更多关于写作只是阻止你.
我问怎么写广告的导入和导出功能列表中,但不允许使用结构SV先生
您可以使用数组. VD学生命名, 年龄, 点,我做 3 数组名, 年龄, 点.
建立更紧密的广告PES引导先生. 我不明白这个问题先生lam.ma:
读卡器的信息管理需求,包括: 读码器, 名, ID, 日期
出生年份, 性别, 电子邮件, 地址, 该卡的日期和信用卡的到期日 (48 月
因为该卡的日期)
该方案具有以下功能:
1. 读者管理
该. 见读者在图书馆列表
B. 添加读者
Ç. 编辑信息的读取器
ð. 清除信息的读取器
和. ID卡读卡器搜索
˚F. 搜索书籍名称
那么,如果不使用读卡器你需要什么,然后结构数组.
TKS我让你学习
在写这个广告
#包括
#包括
无效madocgia(INT MADG[])
{
为 (INT I = 0; 在 < 2; 我 )
{
的printf("Nhap ma doc gia %d: ", 在);
scanf_s("%d", &MADG[在]);
}
}
无效CMND(INT厘米[])
{
为 (INT J = 0; Ĵ < 2; J )
{
的printf("Nhap so CMND %d: ",Ĵ);
scanf_s("%d", &厘米[Ĵ]);
}
}
无效xuatma(INT MADG[])
{
为 (INT I = 0; 在 < 2; 我 )
{
的printf("%d", MADG[在]);
}
}
无效xuatcm(INT厘米[])
{
为 (INT J = 0; Ĵ < 2; J )
{
的printf("%d", 厘米[Ĵ]);
}
}
无效的主要()
{
一个INT[100], B[100];
madocgia(该);
CMND(该);
xuatma(该);
xuatcm(B);
_getch();
}
在+ C所列组合算法只被少数情况下,然后覆盖,所以我问你如何让C ++导出所有的情况下没有被覆盖不? 或编程程序可以列出组合的所有案件不是你?
你看勒·明晃算法NHE. 谷歌是出
他的部队. 我要问你想要什么分离到功能输入 1 打印功能 1 那么如何下巴先生. 我看您是在我们的主要功能.
然后,你只写一个单独的功能单独.
的printf(“%ð”, 厘米[Ĵ]); 你
要打印第i个鉴定.
如油田:
星纳米羟基磷灰石duoc KO MSV.
MSV2不可点击
你漂流命令. 我上面说我有你, 替换命令fflush_stdin(); 在fflush(标准输入) 虽然赢代码NHE. 他们在Ubuntu的代码应该fflush_stdin();
#包括
#包括
typedef结构ngaythangnamsinh
{
INT权,阶梯,男;
}日期;
typedef结构sinhvien看此选手
{
炭10[21];
焦炭毫秒[11];
焦炭LOP[10];
日期NS;
车队DTB;
}恩;
无效nhap1sv(恩 &X)
{
的printf(“\nnhap浩10:”);fflush(标准输入);得到(x.ten);
的printf(“输入验证码:”);fflush(标准输入);得到(x.ms);
的printf(“纳米羟基磷灰石LOP:”);fflush(标准输入);得到(x.lop);
的printf(“输入日期男生:”);
scanf函数(“%ð%D%D” ,&x.ns.ngay,&x.ns.thang,&x.ns.nam);
的printf(“平均切入点:”);fflush(标准输入);scanf函数(“%˚F”,&x.dtb);
}
无效xuat1sv(SV X)
{
的printf(“\ñ ——— 学生信息 —–\ñ”);
的printf(“%-20S%-15s%-15s%-15s%-15s n”, “威胁”, “多议席单票”, “罗布泊”, “Ngysinh”, “DTB”);
的printf(“%-20S%-15s%-15s%D-%D-%d%15F”,x.ten,x.ms,x.lop,x.ns.ngay,x.ns.thang,x.ns.nam,x.dtb);
}
无效nhapdssv(SV一[],INTñ)
{
的printf(“点击DSSV”);
为(INT I = 0;在<ñ;我 )
{
的printf("nhap vao thong tin sinh vien thu %:",I 1),
nhap1sv(该[在]);
}
}
INT主要()
{
SV X;
SV一[10];
INTñ;
nhapdssv(该,ñ);
nhap1sv(X);
xuat1sv(X);
}
aanh我问你没有错误代码,但它并没有跑回来环先生?????
由于n的值是不是有你啊.
他的胃锐 !!!由于nhìu!!!
他问我,我的看法
实施下巴OK timslmax
xuatspslmax错误检查功能!!!
INT timslmax(SP A[],INTñ)
{
INT温度=一[0].SL;
为(INT I = 1;在<ñ;我 )
{
如果(温度<该[在].SL)
温度=一[在].SL;
}回温;
}
无效xuatspslmax(SP A[],INTñ)
{
INT米= timslmax(该,ñ);
的printf("san pham co sl max la:\n");
为(该[在].SL ==米)
xuat1sp(该[在]);
}
INT主要()
{
SP X;
INTñ;
n = 3的;
SP A[10];
nhapdssp(该,ñ);
的printf("%-20s %-15s %-15s\n","maso","tensp", "soluong");
xuatdssp(该,ñ);
xuatspslmax(该,ñ);
结构功能 为(该[在].SL ==米) 这就是错误的,那么什么.
他问我这个错误是如何先生虽然程序仍在正常运行.
57 2 Ç:\用户管理文档 bai2.c [警示] 通过论证 1 “docsv的’ 从兼容的指针类型 [默认情况下启用]
12 6 Ç:\用户管理文档 bai2.c [注意] 预期“结构SV *’ 但是参数的类型“结构SV的**’
#包括
#包括
typedef结构sinhvien看此选手{
焦炭hoten[50];
INT DCC;
INT嗞;
INT DCK;
双DTB;
焦炭xephang[10];
}EN;
无效docsv(SV * SV){
的printf(“在十分:”);
得到(SV>威胁);fflush(标准输入);
的printf(“\ñ”);
的printf(“行乐chuyyen能:”);
scanf函数(“%ð”,&SV>DCC);的printf(“\ñ”);
的printf(“行乐实践:”);
scanf函数(“%ð”,&SV>嗞);的printf(“\ñ”);
的printf(“端点き:”);
scanf函数(“%ð”,&SV>DCK);的printf(“\ñ”);
}
双DTB(SV * SV){
返回SV->DTB = SV>DCC * 0.1 + SV->DTH * 0.3 + SV->DCK * 0.06;
}
无效INSV(常量SV * SV){
的printf(“—–学生信息—–\ñ”);
的printf(“Ho ten:”);
的printf(“%s”,SV>威胁);
的printf(“\ñ”);
的printf(“勤:”);
的printf(“%ð”,SV>DCC);
的printf(“\ñ”);
的printf(“行乐实践:”);
的printf(“%ð”,SV>嗞);
的printf(“\ñ”);
的printf(“端点き:”);
的printf(“%ð”,SV>DCK);
的printf(“\ñ”);
的printf(“GPA:”);
的printf(“%.2如果”,SV>DTB);
的printf(“\ñ”);
的printf(“排行:”);
如果(SV>DCC>= 7&&SV>嗞>= 4&&SV>DCK>=40)
的printf(“学生”);
其他的printf(“出生滑雪”);
}
INT主要(){
SV * SV;
docsv(&恩);
DTB(&恩);
INSV(&恩);
}
一个觉得这只是一个警告 (警示) 停止, 无过错.
Ck感谢!!
因此,对于更多的A A
非常感谢 !!!
他的愿望OI牛奶有关的拍摄对象,怎么说他
解决这个问题首先需要修改寻找, 然后单独输入的信息为它.
谢谢。.
我做到了。.
写在. 非常感谢您承诺
谢谢, 分享给好友了NHE.
喜, 电子功能子程序之星, 它的一部分是一个函数定义误差不明类型结构的.
权证的溶液dev的.
如何˚F@@代码?
在结构DC町EM海游标声明,并希望届时获得灰的价值如何
有太多. 在这里您可以查看链接列表中会看到. https://cachhoc.net/2014/12/21/lap-trinh-c-bai-13-danh-sach-lien-ket-don-cai-bang-con-tro/
他问我,先生, 到位 2 关键字的typedef的例子, kieusinhvien sinhvien看此选手,然后sinhvien看此选手的结构类型,我们定义之间, kieusinhvien也是可变的结构类型sinhvien看此选手没有它? 我问这个,因为事情不明白的关注 2 先生, 如果说这种关注有kieusinhvien皮肤结构类型,我们定义走了, 期待他回答.
使用关键字typdef它kieusinhvien 1 类型.
首席执行官:
一个INT // =>的可变
//的typedef INT A =>类似的类型是int.
英国陆军你要问的是在其结构中使用时 * ?
例如,当我读部分树堆然后宣称结构节点NTN :
结构节点
{
INT优先;
INT SZ;
int值;
节点* L,*ř;
};
为什么L节点,[R后面要加 * 前
标记 * 意味着该变量是一个指针=>始终使用光标时,用户需要 *.
英国军队必须在结构中的交换问题亲爱的兄弟:
例: 结构学生SV [ñ] ; 包括名称和位置.
除了名字,反过来位置变化可能随时改变SV[ 在 ] 与SV[ I 1 ] 是不是
DJK NHE.
但是是什么让先生那种..!
孩子们创建一个新的结构,而不进行调解
结构学生SV [ñ];
结构sinhvien看此选手温度= SV[0] ;
SV[0] = E[3] ;
SV[3] =温度 ;
服务员,让我问这个代码错误的地方è这里“?.我用fflush(标准输入) 它已经多少次被命令误差漂移。(代码只需输入列表信息单独先生).
#包括
#包括
#包括
结构diachi {
字符* = quan_huyen(坦克 *)的malloc(10*的sizeof(坦克));
字符*为=(字符*)的malloc(10);
};
结构danhba{
INT SDT;
字符* hoten =(字符*)的malloc (30);
编译他们diachi;
}*danhbadt =(danhba *)的malloc(40);
danhba newi(danhba *一){
的printf(“新的电话号码 : “);
scanf函数(“%ð”,&一个->茶匙);
fflush(标准输入);
的printf(“业主的全名 : “);
得到(一个->威胁);
fflush(标准输入);
的printf(“区 : “);
得到(一个->canhan.quan_huyen);
fflush(标准输入);
的printf(“至 (芳) : “);
得到(一个->canhan.to);
}
INT主要(){
INT川川;
的printf(“__________________________________ n”);
的printf(“1. 输入新信息 n”);
的printf(“2. 查找电话号码 n”);
的printf(“3. 在地址 n禄电话号码”);
scanf函数(“%ð”,&川川);
开关(川川){
案件 1: newi(danhbadt);
休息;
}
}
我在什么订购漂流? 参考原则,即进入该输入链中的编号后,除去标准输入.
E组错在进入 “quan_huyen” 并进入 “至” 先生. 尝试删除Ë标准输入多次,仍不.
如何你错? 不能进口或进入,但不处理?
一杯e可以让学生进入 , 出口毕业生 2 不是一个单独的函数的直流?
有太多.
我可以问你一个问题吗?, 我切换到菜单直流老师不
我不明白你的意思.
兄弟,让我问你一个清单,然后想转移你想要的成分,你应该怎么做
我不懂你的问题.
他的作品很容易理解, 我写 1 简单的测试帖子, 虽然不是错误,但是无法输入跳转到学生姓名的学生代码, 请帮我看看:
#包括
#包括
使用命名空间STD;
结构sv {
字符马[30], 十[30];
诠释;
};
无效的主要() {
INTñ, 在;//n是学生数
COUT <> ñ;
结构sv stt[100];//数值顺序
为 (I = 0; 在 < ñ; 我 ) {
#定义g stt[在]
COUT << "\nNhap thong tin cua sinh vien thu " << 在 + 1;
COUT << "\nMa sinh vien : "; fflush(标准输入);// 本段未输入dc,但跳了sv名称
与fgets(病毒, 30, 标准输入);
COUT << "\nTen sinh vien : ";
fflush(标准输入);
与fgets(十, 30, 标准输入);
COUT <> Mon;
}
}
cout输入命令<>你的n错了…
请帮我修理, e在此处将原件复制到设备上, 如果您发布,就这样, 我已经运行了代码
您查看课程编号 2, 请继续.
我仔细检查了代码, 发布已更改了几个地方, 例如我的#include帖子稍后缺少一部分,
杜松子酒 >> n更改为cout n, 杜松子酒 >> g.soMon转换为cout g.soMon