Calling readln() after readf

Gary Chike chikega at gmail.com
Mon Jun 20 15:08:18 UTC 2022


I should have qualified the above with:  _ and I will be 
performing operations on the numeric datatype, since just 
outputting simply strings, as in the above example, would require 
nothing more than string data types. :)
```d
module hello_world;

import std.stdio;
import std.string; // strip()
import std.conv; // to!int(),to!float()

void main() {
	writeln("Hello world from D!");
	write("What is your name? ");
	auto fname = readln.strip;
	writeln("It's so nice to meet you ", fname, "!");
	write("How old are you? ");
	auto age = to!int(readln.strip);
	write("What is your GPA? ");
	auto gpa = to!float(readln.strip);
	if (gpa > 4) {
		writeln("Sorry, 4 is the highest GPA ");
		gpa = 4; }
	writeln("So, ", fname, ", you are ", age, " years old and your 
GPA is ",
		gpa, ".. stellar!");
	writeln("Can you increase your GPA? ");
	if(gpa == 4) {
		writeln("Your GPA is already as high as it can be!");
	} else {		
		gpa = gpa > 3.5 ? 4 : (gpa + 0.5);
		writeln("If you study hard, your GPA will likely be ", gpa);
		age = age + 4;
		writeln("But that may take 4 years, and you will be ", age, " 
years old by that time.");
	}
}
```


More information about the Digitalmars-d-learn mailing list